diff --git a/.github/calcrom/calcrom.pl b/.github/calcrom/calcrom.pl index 9fbd959945..cb8c5723ee 100755 --- a/.github/calcrom/calcrom.pl +++ b/.github/calcrom/calcrom.pl @@ -1,5 +1,11 @@ #!/usr/bin/perl +# Usage: +# calcrom.pl [--data] +# +# mapfile: path to .map file output by LD +# data: set to output % breakdown of data + use IPC::Cmd qw[ run ]; use Getopt::Long; @@ -65,12 +71,13 @@ my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq"; # This looks for Unknown_, Unknown_, or sub_, followed by an address. Note that # it matches even if stuff precedes the unknown, like sUnknown/gUnknown. -my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'"; +my $undoc_regex = "'[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'"; # This looks for every symbol with an address at the end of it. Some things are # given a name based on their type / location, but still have an unknown purpose. # For example, FooMap_EventScript_FFFFFFF. -my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,7\\}'"; +# The above may be double counted here, and will need to be filtered out. +my $partial_doc_regex = "'_[0-28][0-9a-fA-F]\\{5,7\\}'"; my $count_cmd = "wc -l"; @@ -87,7 +94,7 @@ my $total_syms_as_string; my $undocumented_as_string; (run ( - command => "$base_cmd | $undoc_cmd | $count_cmd", + command => "$base_cmd | grep $undoc_regex | $count_cmd", buffer => \$undocumented_as_string, timeout => 60 )) @@ -95,7 +102,7 @@ my $undocumented_as_string; my $partial_documented_as_string; (run ( - command => "$base_cmd | $partial_doc_cmd | $count_cmd", + command => "$base_cmd | grep $partial_doc_regex | grep -v $undoc_regex | $count_cmd", buffer => \$partial_documented_as_string, timeout => 60 )) @@ -112,7 +119,7 @@ my $undocumented = $undocumented_as_string + 0; $partial_documented_as_string =~ s/^\s+|\s+$//g; my $partial_documented = $partial_documented_as_string + 0; (($partial_documented != 0) or (($partial_documented == 0) and ($partial_documented_as_string eq "0"))) - or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'"; + or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'"; $total_syms_as_string =~ s/^\s+|\s+$//g; my $total_syms = $total_syms_as_string + 0; @@ -126,9 +133,6 @@ my $total = $src + $asm; my $srcPct = sprintf("%.4f", 100 * $src / $total); my $asmPct = sprintf("%.4f", 100 * $asm / $total); -# partial_documented is double-counting the unknown_* and sub_* symbols. -$partial_documented = $partial_documented - $undocumented; - my $documented = $total_syms - ($undocumented + $partial_documented); my $docPct = sprintf("%.4f", 100 * $documented / $total_syms); my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms); diff --git a/INSTALL.md b/INSTALL.md index 5f2a1f05f1..ee4706c6cf 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -358,7 +358,7 @@ If this works, then proceed to [Installation](#installation). Otherwise, ask for 1. If pokeemerald is not already downloaded (some users may prefer to download pokeemerald via a git client like GitHub Desktop), run: ```bash - git clone https://github.com/pret/pokeemerald + git clone https://github.com/rh-hideout/pokeemerald-expansion ```
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 146fea5cc4..61ad675492 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1162,7 +1162,7 @@ .4byte \ptr .endm - .macro trygetintimidatetarget ptr:req + .macro unused2 ptr:req .byte 0xe1 .4byte \ptr .endm @@ -1290,7 +1290,7 @@ .4byte \ptr .endm - .macro trygetbaddreamstarget ptr:req + .macro unused ptr:req .byte 0xfd .4byte \ptr .endm @@ -1299,9 +1299,15 @@ .byte 0xfe .4byte \ptr .endm - - .macro metalburstdamagecalculator ptr:req + + .macro callnative func:req .byte 0xff + .4byte \func + .endm + +@ callnative macros + .macro metalburstdamagecalculator ptr:req + callnative BS_CalcMetalBurstDmg .4byte \ptr .endm @@ -1326,8 +1332,8 @@ various \battler, VARIOUS_GET_BATTLER_FAINTED .endm - .macro resetintimidatetracebits battler:req - various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .macro resetswitchinabilitybits battler:req + various \battler, VARIOUS_RESET_SWITCH_IN_ABILITY_BITS .endm .macro updatechoicemoveonlvlup battler:req @@ -1789,9 +1795,9 @@ various BS_ATTACKER, VARIOUS_SET_Z_EFFECT .endm - .macro consumeberry battler:req, restoreItem=FALSE + .macro consumeberry battler:req, frombattler:req various \battler, VARIOUS_CONSUME_BERRY - .byte \restoreItem + .byte \frombattler .endm .macro activateitemeffects battler:req @@ -1988,6 +1994,17 @@ various \battler, VARIOUS_GET_BATTLER_SIDE .endm + .macro checkparentalbondcounter counter:req, ptr:req + various BS_ATTACKER, VARIOUS_CHECK_PARENTAL_BOND_COUNTER + .byte \counter + .4byte \ptr + .endm + + .macro swapstats stat:req + various BS_ATTACKER, VARIOUS_SWAP_STATS + .byte \stat + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 diff --git a/asm/macros/event.inc b/asm/macros/event.inc index c7a899eb45..49a97a2477 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -469,7 +469,7 @@ formatwarp \map, \a, \b, \c .endm - @ Sets the dynamic warp destination. Warps with a destination map of MAP_NONE will target this destination. + @ Sets the dynamic warp destination. Warps with a destination map of MAP_DYNAMIC will target this destination. @ Warp commands can be given either the id of which warp location to go to on the destination map @ or a pair of x/y coordinates to go to directly on the destination map. .macro setdynamicwarp map:req, a, b, c diff --git a/charmap.txt b/charmap.txt index 2cb67a8613..99aca4c184 100644 --- a/charmap.txt +++ b/charmap.txt @@ -426,13 +426,13 @@ SHADOW = FC 03 @ same as fc 01 COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes PALETTE = FC 05 @ used in credits FONT = FC 06 @ Given a font id, or use font constants below instead -RESET_SIZE = FC 07 +RESET_FONT = FC 07 PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them PAUSE_UNTIL_PRESS = FC 09 WAIT_SE = FC 0A PLAY_BGM = FC 0B ESCAPE = FC 0C -SHIFT_TEXT = FC 0D +SHIFT_RIGHT = FC 0D SHIFT_DOWN = FC 0E FILL_WINDOW = FC 0F PLAY_SE = FC 10 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e5f32e09ac..1deac08900 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1,4 +1,5 @@ #include "config.h" +#include "config/battle.h" #include "constants/battle.h" #include "constants/battle_anim.h" #include "constants/rgb.h" @@ -7,7 +8,6 @@ #include "constants/moves.h" #include "constants/pokemon.h" #include "constants/items.h" -#include "constants/battle_config.h" .include "asm/macros.inc" .include "asm/macros/battle_anim_script.inc" .include "constants/constants.inc" @@ -805,6 +805,55 @@ gBattleAnims_Moves:: .4byte Move_SANDSEAR_STORM .4byte Move_LUNAR_BLESSING .4byte Move_TAKE_HEART +@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@ + .4byte Move_TERA_BLAST + .4byte Move_SILK_TRAP + .4byte Move_AXE_KICK + .4byte Move_LAST_RESPECTS + .4byte Move_LUMINA_CRASH + .4byte Move_ORDER_UP + .4byte Move_JET_PUNCH + .4byte Move_SPICY_EXTRACT + .4byte Move_SPIN_OUT + .4byte Move_POPULATION_BOMB + .4byte Move_ICE_SPINNER + .4byte Move_GLAIVE_RUSH + .4byte Move_REVIVAL_BLESSING + .4byte Move_SALT_CURE + .4byte Move_TRIPLE_DIVE + .4byte Move_MORTAL_SPIN + .4byte Move_DOODLE + .4byte Move_FILLET_AWAY + .4byte Move_KOWTOW_CLEAVE + .4byte Move_FLOWER_TRICK + .4byte Move_TORCH_SONG + .4byte Move_AQUA_STEP + .4byte Move_RAGING_BULL + .4byte Move_MAKE_IT_RAIN + .4byte Move_RUINATION + .4byte Move_COLLISION_COURSE + .4byte Move_ELECTRO_DRIFT + .4byte Move_SHED_TAIL + .4byte Move_CHILLY_RECEPTION + .4byte Move_TIDY_UP + .4byte Move_SNOWSCAPE + .4byte Move_POUNCE + .4byte Move_TRAILBLAZE + .4byte Move_CHILLING_WATER + .4byte Move_HYPER_DRILL + .4byte Move_TWIN_BEAM + .4byte Move_RAGE_FIST + .4byte Move_ARMOR_CANNON + .4byte Move_BITTER_BLADE + .4byte Move_DOUBLE_SHOCK + .4byte Move_GIGATON_HAMMER + .4byte Move_COMEUPPANCE + .4byte Move_AQUA_CUTTER + .4byte Move_BLAZING_TORQUE + .4byte Move_WICKED_TORQUE + .4byte Move_NOXIOUS_TORQUE + .4byte Move_COMBAT_TORQUE + .4byte Move_MAGICAL_TORQUE @@@@ Z MOVES .4byte Move_BREAKNECK_BLITZ .4byte Move_ALL_OUT_PUMMELING @@ -2987,21 +3036,26 @@ Move_MUD_BOMB: end Move_PSYCHO_CUT: - loadspritegfx ANIM_TAG_SPIRAL - loadspritegfx ANIM_TAG_PSYCHO_CUT - monbg ANIM_ATK_PARTNER + loadspritegfx ANIM_TAG_SPIRAL + loadspritegfx ANIM_TAG_PSYCHO_CUT + loadspritegfx ANIM_TAG_CROSS_IMPACT + monbg ANIM_ATK_PARTNER + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CROSS_IMPACT, 0, 9, 9, RGB_PURPLE + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) delay 30 - clearmonbg ANIM_ATK_PARTNER - waitforvisualfinish - monbg ANIM_TARGET - splitbgprio ANIM_TARGET - setalpha 12, 8 - playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, - createsprite gPsychoCutSpriteTemplate, 130, 5, 20, 0, -8, 0, 20 - waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + waitforvisualfinish + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20 + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 + createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 4, 0, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 10, 0, RGB(20, 12, 23) clearmonbg ANIM_TARGET @@ -14340,6 +14394,54 @@ Move_WILDBOLT_STORM:: Move_SANDSEAR_STORM:: Move_LUNAR_BLESSING:: Move_TAKE_HEART:: +Move_TERA_BLAST:: +Move_SILK_TRAP:: +Move_AXE_KICK:: +Move_LAST_RESPECTS:: +Move_LUMINA_CRASH:: +Move_ORDER_UP:: +Move_JET_PUNCH:: +Move_SPICY_EXTRACT:: +Move_SPIN_OUT:: +Move_POPULATION_BOMB:: +Move_ICE_SPINNER:: +Move_GLAIVE_RUSH:: +Move_REVIVAL_BLESSING:: +Move_SALT_CURE:: +Move_TRIPLE_DIVE:: +Move_MORTAL_SPIN:: +Move_DOODLE:: +Move_FILLET_AWAY:: +Move_KOWTOW_CLEAVE:: +Move_FLOWER_TRICK:: +Move_TORCH_SONG:: +Move_AQUA_STEP:: +Move_RAGING_BULL:: +Move_MAKE_IT_RAIN:: +Move_RUINATION:: +Move_COLLISION_COURSE:: +Move_ELECTRO_DRIFT:: +Move_SHED_TAIL:: +Move_CHILLY_RECEPTION:: +Move_TIDY_UP:: +Move_SNOWSCAPE:: +Move_POUNCE:: +Move_TRAILBLAZE:: +Move_CHILLING_WATER:: +Move_HYPER_DRILL:: +Move_TWIN_BEAM:: +Move_RAGE_FIST:: +Move_ARMOR_CANNON:: +Move_BITTER_BLADE:: +Move_DOUBLE_SHOCK:: +Move_GIGATON_HAMMER:: +Move_COMEUPPANCE:: +Move_AQUA_CUTTER:: +Move_BLAZING_TORQUE:: +Move_WICKED_TORQUE:: +Move_NOXIOUS_TORQUE:: +Move_COMBAT_TORQUE:: +Move_MAGICAL_TORQUE:: end @to do @@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@ diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c3bf65edb7..94a220608a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1,4 +1,5 @@ #include "config.h" +#include "config/battle.h" #include "constants/global.h" #include "constants/battle.h" #include "constants/pokemon.h" @@ -12,7 +13,6 @@ #include "constants/songs.h" #include "constants/game_stat.h" #include "constants/trainers.h" -#include "constants/battle_config.h" #include "constants/species.h" .include "asm/macros.inc" .include "asm/macros/battle_script.inc" @@ -51,7 +51,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectBide @ EFFECT_BIDE .4byte BattleScript_EffectRampage @ EFFECT_RAMPAGE .4byte BattleScript_EffectRoar @ EFFECT_ROAR - .4byte BattleScript_EffectMultiHit @ EFFECT_MULTI_HIT + .4byte BattleScript_EffectHit @ EFFECT_MULTI_HIT .4byte BattleScript_EffectConversion @ EFFECT_CONVERSION .4byte BattleScript_EffectFlinchHit @ EFFECT_FLINCH_HIT .4byte BattleScript_EffectRestoreHp @ EFFECT_RESTORE_HP @@ -66,11 +66,10 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDragonRage @ EFFECT_DRAGON_RAGE .4byte BattleScript_EffectTrap @ EFFECT_TRAP .4byte BattleScript_EffectHealBlock @ EFFECT_HEAL_BLOCK - .4byte BattleScript_EffectDoubleHit @ EFFECT_DOUBLE_HIT .4byte BattleScript_EffectRecoilIfMiss @ EFFECT_RECOIL_IF_MISS .4byte BattleScript_EffectMist @ EFFECT_MIST .4byte BattleScript_EffectFocusEnergy @ EFFECT_FOCUS_ENERGY - .4byte BattleScript_EffectRecoil25 @ EFFECT_RECOIL_25 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_25 .4byte BattleScript_EffectConfuse @ EFFECT_CONFUSE .4byte BattleScript_EffectAttackUp2 @ EFFECT_ATTACK_UP_2 .4byte BattleScript_EffectDefenseUp2 @ EFFECT_DEFENSE_UP_2 @@ -99,7 +98,6 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_EVASION_DOWN_HIT .4byte BattleScript_EffectTwoTurnsAttack @ EFFECT_TWO_TURNS_ATTACK .4byte BattleScript_EffectConfuseHit @ EFFECT_CONFUSE_HIT - .4byte BattleScript_EffectTwineedle @ EFFECT_TWINEEDLE .4byte BattleScript_EffectHit @ EFFECT_VITAL_THROW .4byte BattleScript_EffectSubstitute @ EFFECT_SUBSTITUTE .4byte BattleScript_EffectRecharge @ EFFECT_RECHARGE @@ -220,7 +218,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSnatch @ EFFECT_SNATCH .4byte BattleScript_EffectHit @ EFFECT_LOW_KICK .4byte BattleScript_EffectSecretPower @ EFFECT_SECRET_POWER - .4byte BattleScript_EffectRecoil33 @ EFFECT_RECOIL_33 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_33 .4byte BattleScript_EffectTeeterDance @ EFFECT_TEETER_DANCE .4byte BattleScript_EffectHitEscape @ EFFECT_HIT_ESCAPE .4byte BattleScript_EffectMudSport @ EFFECT_MUD_SPORT @@ -309,9 +307,9 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectGrowth @ EFFECT_GROWTH .4byte BattleScript_EffectCloseCombat @ EFFECT_CLOSE_COMBAT .4byte BattleScript_EffectLastResort @ EFFECT_LAST_RESORT - .4byte BattleScript_EffectRecoil33Status @ EFFECT_RECOIL_33_STATUS + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_33_STATUS .4byte BattleScript_EffectFlinchStatus @ EFFECT_FLINCH_STATUS - .4byte BattleScript_EffectRecoil50 @ EFFECT_RECOIL_50 + .4byte BattleScript_EffectHit @ EFFECT_RECOIL_50 .4byte BattleScript_EffectShellSmash @ EFFECT_SHELL_SMASH .4byte BattleScript_EffectShiftGear @ EFFECT_SHIFT_GEAR .4byte BattleScript_EffectDefenseUp3 @ EFFECT_DEFENSE_UP_3 @@ -381,12 +379,10 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_DYNAMAX_DOUBLE_DMG .4byte BattleScript_EffectDecorate @ EFFECT_DECORATE .4byte BattleScript_EffectHit @ EFFECT_SNIPE_SHOT - .4byte BattleScript_EffectTripleHit @ EFFECT_TRIPLE_HIT .4byte BattleScript_EffectRecoilHP25 @ EFFECT_RECOIL_HP_25 .4byte BattleScript_EffectStuffCheeks @ EFFECT_STUFF_CHEEKS .4byte BattleScript_EffectDefenseDownHit @ EFFECT_GRAV_APPLE .4byte BattleScript_EffectEvasionUpHit @ EFFECT_EVASION_UP_HIT - .4byte BattleScript_EffectDoubleIronBash @ EFFECT_DOUBLE_IRON_BASH .4byte BattleScript_EffectGlitzyGlow @ EFFECT_GLITZY_GLOW .4byte BattleScript_EffectBaddyBad @ EFFECT_BADDY_BAD .4byte BattleScript_EffectSappySeed @ EFFECT_SAPPY_SEED @@ -415,6 +411,11 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSteelBeam @ EFFECT_STEEL_BEAM .4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN + .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID + .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT + .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK + .4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT + .4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -698,11 +699,11 @@ BattleScript_EffectFling: BattleScript_EffectFlingConsumeBerry: savebattleritem BS_TARGET battleritemtolastuseditem BS_TARGET - setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries + setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries orword gHitMarker, HITMARKER_NO_ANIMATIONS - consumeberry BS_TARGET + consumeberry BS_TARGET, TRUE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 restorebattleritem BS_TARGET BattleScript_FlingEnd: tryfaintmon BS_TARGET @@ -779,9 +780,7 @@ BattleScript_EffectPhotonGeyser: BattleScript_EffectAuraWheel: @ Aura Wheel can only be used by Morpeko jumpifspecies BS_ATTACKER, SPECIES_MORPEKO, BattleScript_EffectSpeedUpHit jumpifspecies BS_ATTACKER, SPECIES_MORPEKO_HANGRY, BattleScript_EffectSpeedUpHit - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectClangorousSoul: attackcanceler @@ -893,9 +892,7 @@ BattleScript_BothCanNoLongerEscape:: BattleScript_EffectHyperspaceFury: jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt - printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE - waitmessage B_WAIT_TIME_LONG - goto BattleScript_MoveEnd + goto BattleScript_PokemonCantUseTheMove BattleScript_EffectHyperspaceFuryUnbound:: attackcanceler @@ -1074,16 +1071,6 @@ BattleScript_EffectGlitzyGlow: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_EffectDoubleIronBash: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - sethword sMULTIHIT_EFFECT, MOVE_EFFECT_FLINCH - goto BattleScript_MultiHitLoop - BattleScript_EffectEvasionUpHit: setmoveeffect MOVE_EFFECT_EVS_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit @@ -1096,11 +1083,12 @@ BattleScript_EffectStuffCheeks:: attackanimation waitanimation BattleScript_StuffCheeksEatBerry: - setbyte sBERRY_OVERRIDE, TRUE + setbyte sBERRY_OVERRIDE, 1 orword gHitMarker, HITMARKER_NO_ANIMATIONS - consumeberry BS_ATTACKER + consumeberry BS_ATTACKER, TRUE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 + removeitem BS_ATTACKER setstatchanger STAT_DEF, 2, FALSE statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_StuffCheeksEnd setgraphicalstatchangevalues @@ -1286,28 +1274,34 @@ BattleScript_EffectBurnUp: ppreduce jumpiftype BS_ATTACKER, TYPE_FIRE, BattleScript_BurnUpWorks goto BattleScript_ButItFailed + BattleScript_BurnUpWorks: - accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + setmoveeffect MOVE_EFFECT_BURN_UP | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_BurnUpRemoveType:: losetype BS_ATTACKER, TYPE_FIRE printstring STRINGID_ATTACKERLOSTFIRETYPE waitmessage B_WAIT_TIME_LONG - tryfaintmon BS_TARGET - goto BattleScript_MoveEnd + return +BattleScript_EffectDoubleShock: + attackcanceler + attackstring + ppreduce + jumpiftype BS_ATTACKER, TYPE_ELECTRIC, BattleScript_DoubleShockWorks + goto BattleScript_ButItFailed + +BattleScript_DoubleShockWorks: + setmoveeffect MOVE_EFFECT_DOUBLE_SHOCK | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_DoubleShockRemoveType:: + losetype BS_ATTACKER, TYPE_ELECTRIC + printstring STRINGID_ATTACKERLOSTELECTRICTYPE + waitmessage B_WAIT_TIME_LONG + return + BattleScript_EffectPurify: attackcanceler attackstring @@ -1389,11 +1383,13 @@ BattleScript_MoveEffectBugBite:: printstring STRINGID_BUGBITE waitmessage B_WAIT_TIME_LONG orword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries - consumeberry BS_ATTACKER, TRUE @ consume the berry, then restore the item from changedItems + setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries + savetarget + consumeberry BS_ATTACKER, FALSE bicword gHitMarker, HITMARKER_NO_ANIMATIONS - setbyte sBERRY_OVERRIDE, FALSE + setbyte sBERRY_OVERRIDE, 0 trysymbiosis + restoretarget return BattleScript_EffectCoreEnforcer: @@ -2351,6 +2347,38 @@ BattleScript_QuiverDanceTrySpeed:: BattleScript_QuiverDanceEnd:: goto BattleScript_MoveEnd +BattleScript_EffectVictoryDance: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats +BattleScript_VictoryDanceDoMoveAnim:: + attackanimation + waitanimation + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED, 0 + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTryDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTryDef + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceTryDef:: + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTrySpeed + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTrySpeed + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceTrySpeed:: + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceEnd + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceEnd:: + goto BattleScript_MoveEnd + BattleScript_EffectSpeedUpHit: setmoveeffect MOVE_EFFECT_SPD_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit @@ -2704,10 +2732,10 @@ BattleScript_EffectSpeedSwap: attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON - swapstatstages STAT_SPEED + swapstats STAT_SPEED attackanimation waitanimation - printstring STRINGID_PKMNSWITCHEDSTATCHANGES + printstring STRINGID_ATTACKERSWITCHEDSTATWITHTARGET waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd @@ -3026,6 +3054,7 @@ BattleScript_EffectNaturalGift: waitmessage B_WAIT_TIME_LONG seteffectwithchance jumpifmovehadnoeffect BattleScript_EffectNaturalGiftEnd + checkparentalbondcounter 2, BattleScript_EffectNaturalGiftEnd removeitem BS_ATTACKER BattleScript_EffectNaturalGiftEnd: tryfaintmon BS_TARGET @@ -3044,6 +3073,11 @@ BattleScript_MoveMissed:: waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd +BattleScript_EffectDarkVoid:: +.if B_DARK_VOID_FAIL >= GEN_7 + jumpifspecies BS_ATTACKER, SPECIES_DARKRAI, BattleScript_EffectSleep + goto BattleScript_PokemonCantUseTheMove +.endif BattleScript_EffectSleep:: attackcanceler attackstring @@ -3220,6 +3254,10 @@ BattleScript_EffectBurnHit:: setmoveeffect MOVE_EFFECT_BURN goto BattleScript_EffectHit +BattleScript_EffectSleepHit:: + setmoveeffect MOVE_EFFECT_SLEEP + goto BattleScript_EffectHit + BattleScript_EffectFreezeHit:: setmoveeffect MOVE_EFFECT_FREEZE goto BattleScript_EffectHit @@ -3571,6 +3609,8 @@ BattleScript_MultiHitPrintStrings:: copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 printstring STRINGID_HITXTIMES waitmessage B_WAIT_TIME_LONG + return + BattleScript_MultiHitEnd:: seteffectwithchance tryfaintmon BS_TARGET @@ -3789,26 +3829,6 @@ BattleScript_EffectTrap:: setmoveeffect MOVE_EFFECT_WRAP goto BattleScript_EffectHit -BattleScript_EffectTripleHit:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 3 - initmultihitstring - sethword sMULTIHIT_EFFECT, 0 - goto BattleScript_MultiHitLoop - -BattleScript_EffectDoubleHit:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - sethword sMULTIHIT_EFFECT, 0 - goto BattleScript_MultiHitLoop - BattleScript_EffectRecoilIfMiss:: attackcanceler accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE @@ -4165,16 +4185,6 @@ BattleScript_EffectConfuseHit:: setmoveeffect MOVE_EFFECT_CONFUSION goto BattleScript_EffectHit -BattleScript_EffectTwineedle:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - sethword sMULTIHIT_EFFECT, MOVE_EFFECT_POISON - attackstring - ppreduce - setmultihitcounter 2 - initmultihitstring - goto BattleScript_MultiHitLoop - BattleScript_EffectSubstitute:: attackcanceler ppreduce @@ -4520,64 +4530,16 @@ BattleScript_PartyHealEnd:: BattleScript_EffectTripleKick:: attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce - sethword sTRIPLE_KICK_POWER, 0 - initmultihitstring - setmultihit 3 -BattleScript_TripleKickLoop:: - jumpifhasnohp BS_ATTACKER, BattleScript_TripleKickEnd - jumpifhasnohp BS_TARGET, BattleScript_TripleKickNoMoreHits - jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack - jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_TripleKickNoMoreHits -BattleScript_DoTripleKickAttack:: - accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE - movevaluescleanup - jumpifmove MOVE_SURGING_STRIKES, EffectTripleKick_DoDmgCalcs @ no power boost each hit - jumpifmove MOVE_TRIPLE_AXEL, EffectTripleKick_TripleAxelBoost @ triple axel gets +20 power - addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power - goto EffectTripleKick_DoDmgCalcs -EffectTripleKick_TripleAxelBoost: - addbyte sTRIPLE_KICK_POWER, 20 -EffectTripleKick_DoDmgCalcs: - addbyte sTRIPLE_KICK_POWER, 10 - addbyte sMULTIHIT_STRING + 4, 1 - critcalc - damagecalc - adjustdamage - jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - printstring STRINGID_EMPTYSTRING3 - waitmessage 1 - moveendto MOVEEND_NEXT_TARGET - jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings - decrementmultihit BattleScript_TripleKickLoop - goto BattleScript_TripleKickPrintStrings -BattleScript_TripleKickNoMoreHits:: - pause B_WAIT_TIME_SHORT - jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickPrintStrings - bichalfword gMoveResultFlags, MOVE_RESULT_MISSED -BattleScript_TripleKickPrintStrings:: - resultmessage - waitmessage B_WAIT_TIME_LONG - jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd - jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_TripleKickEnd - copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6 - printstring STRINGID_HITXTIMES - waitmessage B_WAIT_TIME_LONG -BattleScript_TripleKickEnd:: - seteffectwithchance - tryfaintmon BS_TARGET - moveendfrom MOVEEND_UPDATE_LAST_MOVES - end + jumpifmove MOVE_TRIPLE_AXEL BS_TripleAxel + addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power + goto BattleScript_HitFromAtkString + +BS_TripleAxel: + addbyte sTRIPLE_KICK_POWER, 20 @ triple axel gets +20 power + goto BattleScript_HitFromAtkString BattleScript_EffectThief:: setmoveeffect MOVE_EFFECT_STEAL_ITEM @@ -5065,6 +5027,10 @@ BattleScript_EffectAttackUpHit:: setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit +BattleScript_EffectSpecialAttackUpHit:: + setmoveeffect MOVE_EFFECT_SP_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit + BattleScript_EffectAllStatsUpHit:: setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit @@ -5217,6 +5183,7 @@ BattleScript_EffectTeleportNew: BattleScript_EffectTeleportNewEnd: goto BattleScript_MoveEnd +.if B_BEAT_UP < GEN_5 BattleScript_EffectBeatUp:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE @@ -5249,6 +5216,13 @@ BattleScript_BeatUpAttack:: goto BattleScript_BeatUpLoop BattleScript_BeatUpEnd:: end +.else +BattleScript_EffectBeatUp:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + addbyte gBattleCommunication, 1 + goto BattleScript_HitFromAtkString +.endif BattleScript_EffectSemiInvulnerable:: jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable @@ -5411,9 +5385,11 @@ BattleScript_EffectSpitUp:: stockpiletobasedamage BattleScript_SpitUpFail goto BattleScript_HitFromAtkAnimation BattleScript_SpitUpFail:: + checkparentalbondcounter 2, BattleScript_SpitUpEnd pause B_WAIT_TIME_SHORT printstring STRINGID_FAILEDTOSPITUP waitmessage B_WAIT_TIME_LONG +BattleScript_SpitUpEnd: goto BattleScript_MoveEnd BattleScript_SpitUpFailProtect:: @@ -5898,24 +5874,6 @@ BattleScript_EffectSecretPower:: getsecretpowereffect goto BattleScript_EffectHit -BattleScript_EffectRecoil25: - setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit - incrementgamestat GAME_STAT_USED_STRUGGLE - goto BattleScript_EffectHit - -BattleScript_EffectRecoil33:: - setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - -BattleScript_EffectRecoil33Status: - setmoveeffect MOVE_EFFECT_RECOIL_33_STATUS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - -BattleScript_EffectRecoil50: - setmoveeffect MOVE_EFFECT_RECOIL_50 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - goto BattleScript_EffectHit - BattleScript_EffectRecoilHP25: setmoveeffect MOVE_EFFECT_RECOIL_HP_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit @@ -6231,7 +6189,7 @@ BattleScript_FaintedMonTryChoose: jumpifbyte CMP_EQUAL, gBattleCommunication, PARTY_SIZE, BattleScript_FaintedMonSendOutNew @ Switch Pokémon before opponent atknameinbuff1 - resetintimidatetracebits BS_ATTACKER + resetswitchinabilitybits BS_ATTACKER hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON switchoutabilities BS_ATTACKER @@ -8045,7 +8003,6 @@ BattleScript_MoveEffectConfusion:: BattleScript_MoveEffectRecoilWithStatus:: argumentstatuseffect - copyword gBattleMoveDamage, sSAVED_DMG BattleScript_MoveEffectRecoil:: jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd @@ -8302,19 +8259,15 @@ BattleScript_TryAdrenalineOrb: BattleScript_TryAdrenalineOrbRet: return -BattleScript_IntimidateActivatesEnd3:: - call BattleScript_PauseIntimidateActivates - end3 - -BattleScript_PauseIntimidateActivates: - pause B_WAIT_TIME_SHORT BattleScript_IntimidateActivates:: + showabilitypopup BS_ATTACKER + pause B_WAIT_TIME_LONG + destroyabilitypopup setbyte gBattlerTarget, 0 - call BattleScript_AbilityPopUp -BattleScript_IntimidateActivatesLoop: - setstatchanger STAT_ATK, 1, TRUE - trygetintimidatetarget BattleScript_IntimidateActivatesReturn - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateActivatesLoopIncrement +BattleScript_IntimidateLoop: + jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_IntimidateLoopIncrement + jumpiftargetally BattleScript_IntimidateLoopIncrement + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateLoopIncrement jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented @@ -8324,27 +8277,31 @@ BattleScript_IntimidateActivatesLoop: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented .endif - statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateActivatesLoopIncrement +BattleScript_IntimidateEffect: + copybyte sBATTLER, gBattlerTarget + statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage B_WAIT_TIME_LONG call BattleScript_TryAdrenalineOrb -BattleScript_IntimidateActivatesLoopIncrement: +BattleScript_IntimidateLoopIncrement: addbyte gBattlerTarget, 1 - goto BattleScript_IntimidateActivatesLoop -BattleScript_IntimidateActivatesReturn: - return + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_IntimidateLoop +BattleScript_IntimidateEnd: + destroyabilitypopup + pause B_WAIT_TIME_MED + end3 + BattleScript_IntimidatePrevented: - pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp + pause B_WAIT_TIME_LONG setbyte gBattleCommunication STAT_ATK - stattextbuffer BS_ATTACKER + stattextbuffer BS_TARGET printstring STRINGID_STATWASNOTLOWERED waitmessage B_WAIT_TIME_LONG call BattleScript_TryAdrenalineOrb - goto BattleScript_IntimidateActivatesLoopIncrement + goto BattleScript_IntimidateLoopIncrement BattleScript_DroughtActivates:: pause B_WAIT_TIME_SHORT @@ -8467,24 +8424,33 @@ BattleScript_PsychicSurgeActivates:: call BattleScript_TerrainSeedLoop end3 -BattleScript_BadDreamsActivates:: - setbyte gBattlerTarget, 0 - call BattleScript_AbilityPopUp -BattleScript_BadDreamsLoop: - trygetbaddreamstarget BattleScript_BadDreamsEnd - dmg_1_8_targethp +BattleScript_HurtTarget_NoString: orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE - printstring STRINGID_BADDREAMSDMG - waitmessage B_WAIT_TIME_LONG - jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement healthbarupdate BS_TARGET datahpupdate BS_TARGET tryfaintmon BS_TARGET - checkteamslost BattleScript_BadDreamsIncrement + return + +BattleScript_BadDreamsActivates:: + call BattleScript_AbilityPopUp + setbyte sFIXED_ABILITY_POPUP, TRUE + setbyte gBattlerTarget, 0 +BattleScript_BadDreamsLoop: + jumpiftargetally BattleScript_BadDreamsIncrement + jumpifability BS_TARGET, ABILITY_MAGIC_GUARD, BattleScript_BadDreamsIncrement + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_BadDreams_Dmg + jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_BadDreams_Dmg + goto BattleScript_BadDreamsIncrement +BattleScript_BadDreams_Dmg: + printstring STRINGID_BADDREAMSDMG + waitmessage B_WAIT_TIME_LONG + dmg_1_8_targethp + call BattleScript_HurtTarget_NoString BattleScript_BadDreamsIncrement: addbyte gBattlerTarget, 1 - goto BattleScript_BadDreamsLoop + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_BadDreamsLoop BattleScript_BadDreamsEnd: + destroyabilitypopup end3 BattleScript_TookAttack:: @@ -9126,6 +9092,7 @@ BattleScript_BerryCureSlpRet:: BattleScript_GemActivates:: playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT waitanimation + setlastuseditem BS_ATTACKER printstring STRINGID_GEMACTIVATES waitmessage B_WAIT_TIME_LONG removeitem BS_ATTACKER @@ -9134,6 +9101,7 @@ BattleScript_GemActivates:: BattleScript_BerryReduceDmg:: playanimation BS_TARGET, B_ANIM_HELD_ITEM_EFFECT waitanimation + setlastuseditem BS_TARGET printstring STRINGID_TARGETATEITEM waitmessage B_WAIT_TIME_LONG removeitem BS_TARGET @@ -9382,11 +9350,15 @@ BattleScript_BerryStatRaiseRet_Anim: BattleScript_BerryStatRaiseRet_End: return -BattleScript_BerryFocusEnergyEnd2:: - playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT +BattleScript_BerryFocusEnergyRet:: + playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT printstring STRINGID_PKMNUSEDXTOGETPUMPED waitmessage B_WAIT_TIME_LONG - removeitem BS_ATTACKER + removeitem BS_SCRIPTING + return + +BattleScript_BerryFocusEnergyEnd2:: + call BattleScript_BerryFocusEnergyRet end2 BattleScript_ActionSelectionItemsCantBeUsed:: @@ -9880,3 +9852,21 @@ BattleScript_SymbiosisActivates:: printstring STRINGID_SYMBIOSISITEMPASS waitmessage B_WAIT_TIME_LONG return + +BattleScript_TargetAbilityStatRaiseRet:: + copybyte gBattlerAbility, gEffectBattler + copybyte gBattlerAttacker, gBattlerTarget + call BattleScript_AbilityPopUp + statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_TargetAbilityStatRaiseRet_End + setgraphicalstatchangevalues + call BattleScript_StatUp +BattleScript_TargetAbilityStatRaiseRet_End: + return + +BattleScript_PokemonCantUseTheMove:: + attackstring + ppreduce + pause B_WAIT_TIME_SHORT + printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index c1dfde61d8..9b26cbd0d7 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -1,8 +1,8 @@ +#include "config/battle.h" #include "constants/battle.h" #include "constants/battle_script_commands.h" #include "constants/battle_anim.h" #include "constants/battle_string_ids.h" -#include "constants/battle_config.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/game_stat.h" diff --git a/data/event_scripts.s b/data/event_scripts.s index 848a831fea..35d0cae2f9 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,8 +1,9 @@ +#include "config/battle.h" +#include "config/item.h" #include "constants/global.h" #include "constants/apprentice.h" #include "constants/battle.h" #include "constants/battle_arena.h" -#include "constants/battle_config.h" #include "constants/battle_dome.h" #include "constants/battle_factory.h" #include "constants/battle_frontier.h" diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json index e4522dfca1..3b7ee528f4 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/map.json +++ b/data/maps/AbandonedShip_CaptainsOffice/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Corridors_1F/map.json b/data/maps/AbandonedShip_Corridors_1F/map.json index 94f42d6546..f44cbe69cb 100644 --- a/data/maps/AbandonedShip_Corridors_1F/map.json +++ b/data/maps/AbandonedShip_Corridors_1F/map.json @@ -47,84 +47,84 @@ "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 0, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 11, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 11, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 11, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.json b/data/maps/AbandonedShip_Corridors_B1F/map.json index c65e58ca59..a7ce21358e 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/map.json +++ b/data/maps/AbandonedShip_Corridors_B1F/map.json @@ -47,56 +47,56 @@ "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS2_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOMS_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 4, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_ROOM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 0, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 8, "y": 2, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Deck/map.json b/data/maps/AbandonedShip_Deck/map.json index d50e015f31..8d05589d74 100644 --- a/data/maps/AbandonedShip_Deck/map.json +++ b/data/maps/AbandonedShip_Deck/map.json @@ -20,35 +20,35 @@ "y": 15, "elevation": 3, "dest_map": "MAP_ROUTE108", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 15, "elevation": 3, "dest_map": "MAP_ROUTE108", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 5, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json index e0cba2d6af..245e68b8db 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/map.json +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.json @@ -20,42 +20,42 @@ "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 8, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 6, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 9, "y": 3, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index 0c6962688f..dce9111eb5 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -73,63 +73,63 @@ "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 36, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 37, "y": 14, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 21, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 36, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json index 537f0ec645..2a296325c9 100644 --- a/data/maps/AbandonedShip_Room_B1F/map.json +++ b/data/maps/AbandonedShip_Room_B1F/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.json b/data/maps/AbandonedShip_Rooms2_1F/map.json index b854220965..32db9dcaac 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_1F/map.json @@ -86,21 +86,21 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 5, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.json b/data/maps/AbandonedShip_Rooms2_B1F/map.json index 5768a9a955..d8dace7741 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms2_B1F/map.json @@ -47,28 +47,28 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 13, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms_1F/map.json b/data/maps/AbandonedShip_Rooms_1F/map.json index 3fae6f96e9..6c0614ac7d 100644 --- a/data/maps/AbandonedShip_Rooms_1F/map.json +++ b/data/maps/AbandonedShip_Rooms_1F/map.json @@ -73,42 +73,42 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 13, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 14, "y": 16, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.json b/data/maps/AbandonedShip_Rooms_B1F/map.json index d69b431576..a698e05753 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/map.json +++ b/data/maps/AbandonedShip_Rooms_B1F/map.json @@ -47,21 +47,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 22, "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_CORRIDORS_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Underwater1/map.json b/data/maps/AbandonedShip_Underwater1/map.json index 7a2f9cd156..57ff86e43a 100644 --- a/data/maps/AbandonedShip_Underwater1/map.json +++ b/data/maps/AbandonedShip_Underwater1/map.json @@ -20,14 +20,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AbandonedShip_Underwater2/map.json b/data/maps/AbandonedShip_Underwater2/map.json index 072ec34f44..5cbb058c56 100644 --- a/data/maps/AbandonedShip_Underwater2/map.json +++ b/data/maps/AbandonedShip_Underwater2/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_UNDERWATER1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AlteringCave/map.json b/data/maps/AlteringCave/map.json index f6b0acc10f..ac40311cfa 100644 --- a/data/maps/AlteringCave/map.json +++ b/data/maps/AlteringCave/map.json @@ -20,7 +20,7 @@ "y": 22, "elevation": 0, "dest_map": "MAP_ROUTE103", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AncientTomb/map.json b/data/maps/AncientTomb/map.json index 06254e1f98..0f4c375562 100644 --- a/data/maps/AncientTomb/map.json +++ b/data/maps/AncientTomb/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE120", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_1F/map.json b/data/maps/AquaHideout_1F/map.json index 6b9145add5..4d28e53271 100644 --- a/data/maps/AquaHideout_1F/map.json +++ b/data/maps/AquaHideout_1F/map.json @@ -60,21 +60,21 @@ "y": 27, "elevation": 1, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 14, "y": 27, "elevation": 1, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 22, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_B1F/map.json b/data/maps/AquaHideout_B1F/map.json index 0b4cb83171..471ffb9517 100644 --- a/data/maps/AquaHideout_B1F/map.json +++ b/data/maps/AquaHideout_B1F/map.json @@ -138,175 +138,175 @@ "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 18, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 27, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 20, "y": 4, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 27, "y": 12, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 3, "y": 15, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 3, "y": 20, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 32, "y": 19, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 23, "y": 10, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 45, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 42, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 45, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 48, "y": 5, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 42, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 45, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 48, "y": 9, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 42, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 45, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 48, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 42, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 45, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 48, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 19 + "dest_warp_id": "19" } ], "coord_events": [], diff --git a/data/maps/AquaHideout_B2F/map.json b/data/maps/AquaHideout_B2F/map.json index d5697bfcd5..bc58b8d6be 100644 --- a/data/maps/AquaHideout_B2F/map.json +++ b/data/maps/AquaHideout_B2F/map.json @@ -99,70 +99,70 @@ "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 31, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 8, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 5, "y": 8, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 18, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 12, "y": 13, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 31, "y": 17, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B2F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 32, "y": 20, "elevation": 3, "dest_map": "MAP_AQUA_HIDEOUT_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [ diff --git a/data/maps/ArtisanCave_1F/map.json b/data/maps/ArtisanCave_1F/map.json index 0d315b8ee8..d424b07d55 100644 --- a/data/maps/ArtisanCave_1F/map.json +++ b/data/maps/ArtisanCave_1F/map.json @@ -34,14 +34,14 @@ "y": 17, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 6, "y": 5, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/ArtisanCave_B1F/map.json b/data/maps/ArtisanCave_B1F/map.json index 07a897bb95..f7b315e6ea 100644 --- a/data/maps/ArtisanCave_B1F/map.json +++ b/data/maps/ArtisanCave_B1F/map.json @@ -34,14 +34,14 @@ "y": 48, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 38, "y": 5, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleColosseum_2P/map.json b/data/maps/BattleColosseum_2P/map.json index 3c9887a65f..b6aa44b99c 100644 --- a/data/maps/BattleColosseum_2P/map.json +++ b/data/maps/BattleColosseum_2P/map.json @@ -33,15 +33,15 @@ "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 7, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/BattleColosseum_4P/map.json b/data/maps/BattleColosseum_4P/map.json index a6eddc9a87..19a4a9ef29 100644 --- a/data/maps/BattleColosseum_4P/map.json +++ b/data/maps/BattleColosseum_4P/map.json @@ -19,29 +19,29 @@ "x": 5, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 7, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 8, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.json b/data/maps/BattleFrontier_BattleArenaLobby/map.json index 27dd333177..210da8118c 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/map.json +++ b/data/maps/BattleFrontier_BattleArenaLobby/map.json @@ -86,7 +86,7 @@ "y": 12, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/map.json b/data/maps/BattleFrontier_BattleDomeCorridor/map.json index 89fc022c58..5a68af443c 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/map.json +++ b/data/maps/BattleFrontier_BattleDomeCorridor/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.json b/data/maps/BattleFrontier_BattleDomeLobby/map.json index e550bbaf55..d47bb0f2b4 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/map.json +++ b/data/maps/BattleFrontier_BattleDomeLobby/map.json @@ -99,14 +99,14 @@ "y": 16, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 16, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json index eb278c10d9..a175248ab2 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.json b/data/maps/BattleFrontier_BattleFactoryLobby/map.json index f685678861..15d395fd83 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/map.json +++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.json @@ -99,14 +99,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json index 2d721ad08b..a0d00b5c01 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json index 147aac55d2..e96f6d9e83 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/map.json +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/map.json @@ -112,28 +112,28 @@ "y": 13, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 13, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 3, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.json b/data/maps/BattleFrontier_BattlePalaceLobby/map.json index bcf3793e3b..7c8ee0cd13 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/map.json +++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.json @@ -99,21 +99,21 @@ "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 11, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 4, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.json b/data/maps/BattleFrontier_BattlePikeLobby/map.json index 2ca2ce4852..0faca2e94f 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/map.json +++ b/data/maps/BattleFrontier_BattlePikeLobby/map.json @@ -73,21 +73,21 @@ "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 12, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.json b/data/maps/BattleFrontier_BattlePyramidLobby/map.json index 56736628fa..4652af2747 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/map.json +++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.json @@ -73,7 +73,7 @@ "y": 17, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json index 7cb154d8da..1018ebb6d9 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.json b/data/maps/BattleFrontier_BattleTowerLobby/map.json index 3135c48fe4..d672f07189 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/map.json +++ b/data/maps/BattleFrontier_BattleTowerLobby/map.json @@ -138,21 +138,21 @@ "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 1, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 40936936a7..4e7284fd06 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -911,7 +911,7 @@ BattleFrontier_BattleTowerLobby_EventScript_ExitRules:: end @ Unused -BattleFrontier_BattleTowerLobby_EventScript_DirectYouToBattleRoom: +BattleFrontier_BattleTowerLobby_Text_DirectYouToBattleRoom: .string "I'll direct you to your BATTLE ROOM now.$" BattleFrontier_BattleTowerLobby_Text_DidntSaveBeforeQuitting: diff --git a/data/maps/BattleFrontier_ExchangeServiceCorner/map.json b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json index 50c6a90a9f..94de094bb2 100644 --- a/data/maps/BattleFrontier_ExchangeServiceCorner/map.json +++ b/data/maps/BattleFrontier_ExchangeServiceCorner/map.json @@ -138,21 +138,21 @@ "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 6, "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 8, "y": 10, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge1/map.json b/data/maps/BattleFrontier_Lounge1/map.json index a650e3ce7a..dbbe0be81f 100644 --- a/data/maps/BattleFrontier_Lounge1/map.json +++ b/data/maps/BattleFrontier_Lounge1/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge2/map.json b/data/maps/BattleFrontier_Lounge2/map.json index 856e2d395c..00411ca898 100644 --- a/data/maps/BattleFrontier_Lounge2/map.json +++ b/data/maps/BattleFrontier_Lounge2/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 2, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge3/map.json b/data/maps/BattleFrontier_Lounge3/map.json index 58aee4d419..368df22b97 100644 --- a/data/maps/BattleFrontier_Lounge3/map.json +++ b/data/maps/BattleFrontier_Lounge3/map.json @@ -86,7 +86,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge4/map.json b/data/maps/BattleFrontier_Lounge4/map.json index c82c51dce3..750f928c0c 100644 --- a/data/maps/BattleFrontier_Lounge4/map.json +++ b/data/maps/BattleFrontier_Lounge4/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge5/map.json b/data/maps/BattleFrontier_Lounge5/map.json index a8650cfd61..cf8505868c 100644 --- a/data/maps/BattleFrontier_Lounge5/map.json +++ b/data/maps/BattleFrontier_Lounge5/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge6/map.json b/data/maps/BattleFrontier_Lounge6/map.json index 36027a47e7..19c8162535 100644 --- a/data/maps/BattleFrontier_Lounge6/map.json +++ b/data/maps/BattleFrontier_Lounge6/map.json @@ -34,7 +34,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge7/map.json b/data/maps/BattleFrontier_Lounge7/map.json index 36cf3a8829..12fd7e5886 100644 --- a/data/maps/BattleFrontier_Lounge7/map.json +++ b/data/maps/BattleFrontier_Lounge7/map.json @@ -73,7 +73,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge8/map.json b/data/maps/BattleFrontier_Lounge8/map.json index 0736d3b5c5..7e18c9a633 100644 --- a/data/maps/BattleFrontier_Lounge8/map.json +++ b/data/maps/BattleFrontier_Lounge8/map.json @@ -60,7 +60,7 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Lounge9/map.json b/data/maps/BattleFrontier_Lounge9/map.json index d73ad0e92a..2c19d35a3a 100644 --- a/data/maps/BattleFrontier_Lounge9/map.json +++ b/data/maps/BattleFrontier_Lounge9/map.json @@ -34,14 +34,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 2, "y": 9, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_Mart/map.json b/data/maps/BattleFrontier_Mart/map.json index 10dc2cb1b1..28261958ab 100644 --- a/data/maps/BattleFrontier_Mart/map.json +++ b/data/maps/BattleFrontier_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_OutsideEast/map.json b/data/maps/BattleFrontier_OutsideEast/map.json index 21ae9446c4..c99fe30474 100644 --- a/data/maps/BattleFrontier_OutsideEast/map.json +++ b/data/maps/BattleFrontier_OutsideEast/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", "offset": 0, - "map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST" + "direction": "left" } ], "object_events": [ @@ -365,98 +365,98 @@ "y": 14, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 39, "y": 29, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 56, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 58, "y": 14, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 12, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_RANKING_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 28, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 65, "y": 31, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE8", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 45, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE9", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 7, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_OutsideWest/map.json b/data/maps/BattleFrontier_OutsideWest/map.json index e28eea22d9..bcf579cf1d 100644 --- a/data/maps/BattleFrontier_OutsideWest/map.json +++ b/data/maps/BattleFrontier_OutsideWest/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", "offset": 0, - "map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST" + "direction": "right" } ], "object_events": [ @@ -339,77 +339,77 @@ "y": 27, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 17, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 38, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 51, "y": 51, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 44, "y": 5, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_SCOTTS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 53, "y": 44, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 20, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_LOUNGE7", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 65, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 61, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_RECEPTION_GATE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 39, "y": 55, "elevation": 0, "dest_map": "MAP_ARTISAN_CAVE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/map.json b/data/maps/BattleFrontier_PokemonCenter_1F/map.json index b4b16ba940..b993e92777 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/map.json b/data/maps/BattleFrontier_PokemonCenter_2F/map.json index cb31916490..e8bdfb2b2d 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/map.json +++ b/data/maps/BattleFrontier_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_RankingHall/map.json b/data/maps/BattleFrontier_RankingHall/map.json index 5ac9f66995..dc5fc9ce75 100644 --- a/data/maps/BattleFrontier_RankingHall/map.json +++ b/data/maps/BattleFrontier_RankingHall/map.json @@ -60,14 +60,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 27, "y": 14, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_EAST", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_ReceptionGate/map.json b/data/maps/BattleFrontier_ReceptionGate/map.json index 44c71ccd1e..12a178198d 100644 --- a/data/maps/BattleFrontier_ReceptionGate/map.json +++ b/data/maps/BattleFrontier_ReceptionGate/map.json @@ -86,14 +86,14 @@ "y": 13, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/BattleFrontier_ScottsHouse/map.json b/data/maps/BattleFrontier_ScottsHouse/map.json index 74393db0b2..7a6de715ab 100644 --- a/data/maps/BattleFrontier_ScottsHouse/map.json +++ b/data/maps/BattleFrontier_ScottsHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 3, "y": 7, "elevation": 3, "dest_map": "MAP_BATTLE_FRONTIER_OUTSIDE_WEST", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/BirthIsland_Exterior/map.json b/data/maps/BirthIsland_Exterior/map.json index 3ee9e551de..3c5cc874cb 100644 --- a/data/maps/BirthIsland_Exterior/map.json +++ b/data/maps/BirthIsland_Exterior/map.json @@ -47,7 +47,7 @@ "y": 24, "elevation": 0, "dest_map": "MAP_BIRTH_ISLAND_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/BirthIsland_Harbor/map.json b/data/maps/BirthIsland_Harbor/map.json index d76ed47825..cce96bfc13 100644 --- a/data/maps/BirthIsland_Harbor/map.json +++ b/data/maps/BirthIsland_Harbor/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 0, "dest_map": "MAP_BIRTH_ISLAND_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_1F/map.json b/data/maps/CaveOfOrigin_1F/map.json index 17da439077..292c006c2d 100644 --- a/data/maps/CaveOfOrigin_1F/map.json +++ b/data/maps/CaveOfOrigin_1F/map.json @@ -20,14 +20,14 @@ "y": 17, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_B1F/map.json b/data/maps/CaveOfOrigin_B1F/map.json index 690d26055d..166f79998b 100644 --- a/data/maps/CaveOfOrigin_B1F/map.json +++ b/data/maps/CaveOfOrigin_B1F/map.json @@ -34,7 +34,7 @@ "y": 3, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_Entrance/map.json b/data/maps/CaveOfOrigin_Entrance/map.json index f45f47f992..ad5d8b2bbe 100644 --- a/data/maps/CaveOfOrigin_Entrance/map.json +++ b/data/maps/CaveOfOrigin_Entrance/map.json @@ -20,14 +20,14 @@ "y": 20, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 9, "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json index 8b05ac536e..ac711a04c0 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 11, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json index 9a3d098103..b603bd5155 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.json @@ -20,14 +20,14 @@ "y": 10, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 14, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json index 9456f40129..4566a1ea5a 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.json @@ -20,14 +20,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 6, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DesertRuins/map.json b/data/maps/DesertRuins/map.json index c87df0deee..abbe0db10d 100644 --- a/data/maps/DesertRuins/map.json +++ b/data/maps/DesertRuins/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/DesertUnderpass/map.json b/data/maps/DesertUnderpass/map.json index 20db733818..152d32a794 100644 --- a/data/maps/DesertUnderpass/map.json +++ b/data/maps/DesertUnderpass/map.json @@ -34,7 +34,7 @@ "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/DewfordTown/map.json b/data/maps/DewfordTown/map.json index 8beb5add70..f073a74368 100644 --- a/data/maps/DewfordTown/map.json +++ b/data/maps/DewfordTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE106", "offset": -60, - "map": "MAP_ROUTE106" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE107", "offset": 0, - "map": "MAP_ROUTE107" + "direction": "right" } ], "object_events": [ @@ -97,35 +97,35 @@ "y": 3, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 10, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 17, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 14, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_Gym/map.json b/data/maps/DewfordTown_Gym/map.json index f28550f6ea..d1ae1d7fce 100644 --- a/data/maps/DewfordTown_Gym/map.json +++ b/data/maps/DewfordTown_Gym/map.json @@ -125,14 +125,14 @@ "y": 27, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 27, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_Hall/map.json b/data/maps/DewfordTown_Hall/map.json index 24cde4ea17..9489a3d1ee 100644 --- a/data/maps/DewfordTown_Hall/map.json +++ b/data/maps/DewfordTown_Hall/map.json @@ -138,14 +138,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_House1/map.json b/data/maps/DewfordTown_House1/map.json index fd53469b90..57e1909f41 100644 --- a/data/maps/DewfordTown_House1/map.json +++ b/data/maps/DewfordTown_House1/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_House2/map.json b/data/maps/DewfordTown_House2/map.json index 4384f37670..63e9e42ba0 100644 --- a/data/maps/DewfordTown_House2/map.json +++ b/data/maps/DewfordTown_House2/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_PokemonCenter_1F/map.json b/data/maps/DewfordTown_PokemonCenter_1F/map.json index 131c930929..5e5c7b93e4 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_DEWFORD_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/DewfordTown_PokemonCenter_2F/map.json b/data/maps/DewfordTown_PokemonCenter_2F/map.json index 56add50537..8fd655abf2 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/map.json +++ b/data/maps/DewfordTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity/map.json b/data/maps/EverGrandeCity/map.json index 9db9c8febb..58978b7ff8 100644 --- a/data/maps/EverGrandeCity/map.json +++ b/data/maps/EverGrandeCity/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE128", "offset": 40, - "map": "MAP_ROUTE128" + "direction": "left" } ], "object_events": [], @@ -26,28 +26,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 48, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 41, "elevation": 0, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 27, "elevation": 0, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.json b/data/maps/EverGrandeCity_ChampionsRoom/map.json index 34fb96e460..305a1f16f7 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/map.json +++ b/data/maps/EverGrandeCity_ChampionsRoom/map.json @@ -60,14 +60,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL_OF_FAME", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.json b/data/maps/EverGrandeCity_DrakesRoom/map.json index b7bcd49665..249e244d0a 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/map.json +++ b/data/maps/EverGrandeCity_DrakesRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL3", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL4", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.json b/data/maps/EverGrandeCity_GlaciasRoom/map.json index 86a840d13a..fd861a55b1 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/map.json +++ b/data/maps/EverGrandeCity_GlaciasRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall1/map.json b/data/maps/EverGrandeCity_Hall1/map.json index 426b9f6e45..7e430832e7 100644 --- a/data/maps/EverGrandeCity_Hall1/map.json +++ b/data/maps/EverGrandeCity_Hall1/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall2/map.json b/data/maps/EverGrandeCity_Hall2/map.json index 3535734e95..3ff2912512 100644 --- a/data/maps/EverGrandeCity_Hall2/map.json +++ b/data/maps/EverGrandeCity_Hall2/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall3/map.json b/data/maps/EverGrandeCity_Hall3/map.json index b7fe8f4ecd..a12fe19b3e 100644 --- a/data/maps/EverGrandeCity_Hall3/map.json +++ b/data/maps/EverGrandeCity_Hall3/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall4/map.json b/data/maps/EverGrandeCity_Hall4/map.json index b0501cd38b..09cf739619 100644 --- a/data/maps/EverGrandeCity_Hall4/map.json +++ b/data/maps/EverGrandeCity_Hall4/map.json @@ -20,14 +20,14 @@ "y": 33, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_DRAKES_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_Hall5/map.json b/data/maps/EverGrandeCity_Hall5/map.json index 1f6705f3a4..b639076301 100644 --- a/data/maps/EverGrandeCity_Hall5/map.json +++ b/data/maps/EverGrandeCity_Hall5/map.json @@ -20,28 +20,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_HallOfFame/map.json b/data/maps/EverGrandeCity_HallOfFame/map.json index e09190eb96..82219dfd43 100644 --- a/data/maps/EverGrandeCity_HallOfFame/map.json +++ b/data/maps/EverGrandeCity_HallOfFame/map.json @@ -34,7 +34,7 @@ "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.json b/data/maps/EverGrandeCity_PhoebesRoom/map.json index 09c6dd40e2..7fdc616517 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/map.json +++ b/data/maps/EverGrandeCity_PhoebesRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json index 196ebd0f24..a146dc11a2 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json index b734f9ad56..c20b8a7320 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json index f76febc010..6dd97c0b72 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.json @@ -73,35 +73,35 @@ "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 11, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 7, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json index a4b5cb1f2b..e271becd6b 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/map.json +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.json b/data/maps/EverGrandeCity_SidneysRoom/map.json index dc84d36d6d..dfe6fe36c4 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/map.json +++ b/data/maps/EverGrandeCity_SidneysRoom/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY_HALL5", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_EVER_GRANDE_CITY_HALL1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown/map.json b/data/maps/FallarborTown/map.json index 74355a870f..4888640a59 100644 --- a/data/maps/FallarborTown/map.json +++ b/data/maps/FallarborTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE114", "offset": 0, - "map": "MAP_ROUTE114" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE113", "offset": 0, - "map": "MAP_ROUTE113" + "direction": "right" } ], "object_events": [ @@ -84,35 +84,35 @@ "y": 15, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 17, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_COZMOS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_BattleTentLobby/map.json b/data/maps/FallarborTown_BattleTentLobby/map.json index a796a3f105..b8f274df31 100644 --- a/data/maps/FallarborTown_BattleTentLobby/map.json +++ b/data/maps/FallarborTown_BattleTentLobby/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_CozmosHouse/map.json b/data/maps/FallarborTown_CozmosHouse/map.json index a7ae1f90df..a9986b6dfd 100644 --- a/data/maps/FallarborTown_CozmosHouse/map.json +++ b/data/maps/FallarborTown_CozmosHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_Mart/map.json b/data/maps/FallarborTown_Mart/map.json index 77c5df9762..c72605a36d 100644 --- a/data/maps/FallarborTown_Mart/map.json +++ b/data/maps/FallarborTown_Mart/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_MoveRelearnersHouse/map.json b/data/maps/FallarborTown_MoveRelearnersHouse/map.json index ce3f3a3dde..9479677200 100644 --- a/data/maps/FallarborTown_MoveRelearnersHouse/map.json +++ b/data/maps/FallarborTown_MoveRelearnersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_PokemonCenter_1F/map.json b/data/maps/FallarborTown_PokemonCenter_1F/map.json index cb06908290..93204a215a 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_FALLARBOR_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FallarborTown_PokemonCenter_2F/map.json b/data/maps/FallarborTown_PokemonCenter_2F/map.json index ada498a426..94f56ecb4d 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/map.json +++ b/data/maps/FallarborTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FarawayIsland_Entrance/map.json b/data/maps/FarawayIsland_Entrance/map.json index d3c6056a0a..bd42f12953 100644 --- a/data/maps/FarawayIsland_Entrance/map.json +++ b/data/maps/FarawayIsland_Entrance/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 3, "dest_map": "MAP_FARAWAY_ISLAND_INTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 7, "elevation": 3, "dest_map": "MAP_FARAWAY_ISLAND_INTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ @@ -63,7 +63,7 @@ "x": 9, "y": 18, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" }, @@ -72,7 +72,7 @@ "x": 10, "y": 20, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_ClearWeather" }, @@ -81,7 +81,7 @@ "x": 22, "y": 9, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "FarawayIsland_Entrance_EventScript_SetCloudsWeather" } diff --git a/data/maps/FarawayIsland_Interior/map.json b/data/maps/FarawayIsland_Interior/map.json index 1ec092fbe7..14850995ca 100644 --- a/data/maps/FarawayIsland_Interior/map.json +++ b/data/maps/FarawayIsland_Interior/map.json @@ -34,14 +34,14 @@ "y": 19, "elevation": 0, "dest_map": "MAP_FARAWAY_ISLAND_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 19, "elevation": 0, "dest_map": "MAP_FARAWAY_ISLAND_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index ef11990d85..38b9aff75e 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -125,14 +125,14 @@ "y": 36, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 26, "y": 4, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/FortreeCity/map.json b/data/maps/FortreeCity/map.json index fd23e6ffd6..007d8b22d7 100644 --- a/data/maps/FortreeCity/map.json +++ b/data/maps/FortreeCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE119", "offset": 0, - "map": "MAP_ROUTE119" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE120", "offset": 0, - "map": "MAP_ROUTE120" + "direction": "right" } ], "object_events": [ @@ -123,63 +123,63 @@ "y": 6, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 11, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 14, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 25, "y": 3, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 2, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 13, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 13, "elevation": 0, "dest_map": "MAP_FORTREE_CITY_DECORATION_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_DecorationShop/map.json b/data/maps/FortreeCity_DecorationShop/map.json index 59b707a953..3c6d2f34d3 100644 --- a/data/maps/FortreeCity_DecorationShop/map.json +++ b/data/maps/FortreeCity_DecorationShop/map.json @@ -73,14 +73,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_Gym/map.json b/data/maps/FortreeCity_Gym/map.json index 0db326d07e..0796912dd0 100644 --- a/data/maps/FortreeCity_Gym/map.json +++ b/data/maps/FortreeCity_Gym/map.json @@ -125,14 +125,14 @@ "y": 24, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 16, "y": 24, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House1/map.json b/data/maps/FortreeCity_House1/map.json index cef2030931..5013cbd65b 100644 --- a/data/maps/FortreeCity_House1/map.json +++ b/data/maps/FortreeCity_House1/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House2/map.json b/data/maps/FortreeCity_House2/map.json index fed6a9f65a..26d666a559 100644 --- a/data/maps/FortreeCity_House2/map.json +++ b/data/maps/FortreeCity_House2/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House3/map.json b/data/maps/FortreeCity_House3/map.json index f7c47ede12..b305190dfe 100644 --- a/data/maps/FortreeCity_House3/map.json +++ b/data/maps/FortreeCity_House3/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House4/map.json b/data/maps/FortreeCity_House4/map.json index a01772eeaf..8123d2c4d7 100644 --- a/data/maps/FortreeCity_House4/map.json +++ b/data/maps/FortreeCity_House4/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_House5/map.json b/data/maps/FortreeCity_House5/map.json index b1577e6486..b76a869f58 100644 --- a/data/maps/FortreeCity_House5/map.json +++ b/data/maps/FortreeCity_House5/map.json @@ -60,14 +60,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 5, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_Mart/map.json b/data/maps/FortreeCity_Mart/map.json index 61ab4cefd4..27a82e69f3 100644 --- a/data/maps/FortreeCity_Mart/map.json +++ b/data/maps/FortreeCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_PokemonCenter_1F/map.json b/data/maps/FortreeCity_PokemonCenter_1F/map.json index d593490333..e28907ad4b 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_FORTREE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/FortreeCity_PokemonCenter_2F/map.json b/data/maps/FortreeCity_PokemonCenter_2F/map.json index 1859bf131c..8635a5320b 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/map.json +++ b/data/maps/FortreeCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_FORTREE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_1F/map.json b/data/maps/GraniteCave_1F/map.json index ff60d726b7..c254c4b005 100644 --- a/data/maps/GraniteCave_1F/map.json +++ b/data/maps/GraniteCave_1F/map.json @@ -47,28 +47,28 @@ "y": 12, "elevation": 3, "dest_map": "MAP_ROUTE106", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 11, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 10, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_STEVENS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_B1F/map.json b/data/maps/GraniteCave_B1F/map.json index be2f5ae013..8c6a112a64 100644 --- a/data/maps/GraniteCave_B1F/map.json +++ b/data/maps/GraniteCave_B1F/map.json @@ -34,49 +34,49 @@ "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 29, "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 5, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 29, "y": 2, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B2F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_B2F/map.json b/data/maps/GraniteCave_B2F/map.json index bf58a40e3a..e3748ee4bf 100644 --- a/data/maps/GraniteCave_B2F/map.json +++ b/data/maps/GraniteCave_B2F/map.json @@ -138,35 +138,35 @@ "y": 13, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 28, "y": 21, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 8, "y": 5, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 29, "y": 2, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/GraniteCave_StevensRoom/map.json b/data/maps/GraniteCave_StevensRoom/map.json index 0705303782..280af56c81 100644 --- a/data/maps/GraniteCave_StevensRoom/map.json +++ b/data/maps/GraniteCave_StevensRoom/map.json @@ -34,7 +34,7 @@ "y": 3, "elevation": 3, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/InsideOfTruck/map.json b/data/maps/InsideOfTruck/map.json index 0ddc579fc7..4b027853ad 100644 --- a/data/maps/InsideOfTruck/map.json +++ b/data/maps/InsideOfTruck/map.json @@ -59,22 +59,22 @@ "x": 4, "y": 1, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 4, "y": 2, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 4, "y": 3, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/IslandCave/map.json b/data/maps/IslandCave/map.json index 7c540411f5..b8518ac946 100644 --- a/data/maps/IslandCave/map.json +++ b/data/maps/IslandCave/map.json @@ -34,21 +34,21 @@ "y": 29, "elevation": 3, "dest_map": "MAP_ROUTE105", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 20, "elevation": 0, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 8, "y": 11, "elevation": 3, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/JaggedPass/map.json b/data/maps/JaggedPass/map.json index d7e7d5e2e3..ba4cdf3e0e 100644 --- a/data/maps/JaggedPass/map.json +++ b/data/maps/JaggedPass/map.json @@ -112,35 +112,35 @@ "y": 40, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 15, "y": 40, "elevation": 3, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 5, "elevation": 3, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 5, "elevation": 3, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 18, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LavaridgeTown/map.json b/data/maps/LavaridgeTown/map.json index 54bda6ca32..ecf7c5b9f1 100644 --- a/data/maps/LavaridgeTown/map.json +++ b/data/maps/LavaridgeTown/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_ROUTE112", "offset": -40, - "map": "MAP_ROUTE112" + "direction": "right" } ], "object_events": [ @@ -144,42 +144,42 @@ "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_HERB_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 15, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [ @@ -188,7 +188,7 @@ "x": 6, "y": 3, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "LavaridgeTown_EventScript_HotSpringsTrigger" } diff --git a/data/maps/LavaridgeTown_Gym_1F/map.json b/data/maps/LavaridgeTown_Gym_1F/map.json index 2f624a2f91..dc30c6ea9c 100644 --- a/data/maps/LavaridgeTown_Gym_1F/map.json +++ b/data/maps/LavaridgeTown_Gym_1F/map.json @@ -99,182 +99,182 @@ "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 0, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 2, "y": 15, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 3, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 1, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 0, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 3, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 0, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 5, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 2, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 7, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 10, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 4, "y": 16, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 19 + "dest_warp_id": "19" }, { "x": 14, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 13, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_B1F", - "dest_warp_id": 23 + "dest_warp_id": "23" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.json b/data/maps/LavaridgeTown_Gym_B1F/map.json index bbcdbcbe18..b90802b173 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/map.json +++ b/data/maps/LavaridgeTown_Gym_B1F/map.json @@ -73,168 +73,168 @@ "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 0, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 8, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 18, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 9, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 15, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 3, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 14, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 0, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 3, "y": 10, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 0, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 5, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 2, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 17 + "dest_warp_id": "17" }, { "x": 7, "y": 2, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 8, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 19 + "dest_warp_id": "19" }, { "x": 10, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 12, "y": 3, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 4, "y": 16, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 14, "y": 6, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 13, "y": 17, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN_GYM_1F", - "dest_warp_id": 25 + "dest_warp_id": "25" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_HerbShop/map.json b/data/maps/LavaridgeTown_HerbShop/map.json index 6be35b7292..7a3d8f0e17 100644 --- a/data/maps/LavaridgeTown_HerbShop/map.json +++ b/data/maps/LavaridgeTown_HerbShop/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_House/map.json b/data/maps/LavaridgeTown_House/map.json index 2a8d5362cf..a45ac0e7fb 100644 --- a/data/maps/LavaridgeTown_House/map.json +++ b/data/maps/LavaridgeTown_House/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_Mart/map.json b/data/maps/LavaridgeTown_Mart/map.json index 5c871785d1..82078a3827 100644 --- a/data/maps/LavaridgeTown_Mart/map.json +++ b/data/maps/LavaridgeTown_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json index 42cf11aede..8cbeae0923 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.json @@ -73,28 +73,28 @@ "y": 8, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LAVARIDGE_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json index 72a5f688b1..2a7ce1551c 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/map.json +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity/map.json b/data/maps/LilycoveCity/map.json index a13904ca9a..398cf219ea 100644 --- a/data/maps/LilycoveCity/map.json +++ b/data/maps/LilycoveCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE121", "offset": 10, - "map": "MAP_ROUTE121" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE124", "offset": -10, - "map": "MAP_ROUTE124" + "direction": "right" } ], "object_events": [ @@ -318,98 +318,98 @@ "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 24, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 24, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 5, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 24, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 39, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 70, "y": 5, "elevation": 1, "dest_map": "MAP_AQUA_HIDEOUT_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 42, "y": 6, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 55, "y": 15, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 22, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_ContestHall/map.json b/data/maps/LilycoveCity_ContestHall/map.json index e8151c832f..a55d214988 100644 --- a/data/maps/LilycoveCity_ContestHall/map.json +++ b/data/maps/LilycoveCity_ContestHall/map.json @@ -437,28 +437,28 @@ "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 30, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 20, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 32, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_LOBBY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_ContestLobby/map.json b/data/maps/LilycoveCity_ContestLobby/map.json index ac5346dc4f..276b5a6c2c 100644 --- a/data/maps/LilycoveCity_ContestLobby/map.json +++ b/data/maps/LilycoveCity_ContestLobby/map.json @@ -346,28 +346,28 @@ "y": 11, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 15, "y": 11, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_CONTEST_HALL", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json index 4b18e22c18..098b533360 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.json @@ -34,21 +34,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json index 0edd978fd0..10333f1b4a 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.json @@ -112,7 +112,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json index 9a3c43308f..b9bd8305b6 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.json @@ -33,15 +33,15 @@ "x": 1, "y": 5, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 2, "y": 5, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json index deb7ad0446..c1f2a619fb 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.json @@ -73,7 +73,7 @@ "y": 3, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.json b/data/maps/LilycoveCity_DepartmentStore_1F/map.json index 758e063f6d..951777f8f4 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.json @@ -99,28 +99,28 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.json b/data/maps/LilycoveCity_DepartmentStore_2F/map.json index ebef46ae58..e31ceb56e1 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.json b/data/maps/LilycoveCity_DepartmentStore_3F/map.json index c911b9d265..01bad861c7 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.json b/data/maps/LilycoveCity_DepartmentStore_4F/map.json index c6291ec2c7..e4b14a7703 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.json @@ -86,21 +86,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.json b/data/maps/LilycoveCity_DepartmentStore_5F/map.json index 6123c1c78b..e816d3f217 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/map.json +++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.json @@ -112,21 +112,21 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_Harbor/map.json b/data/maps/LilycoveCity_Harbor/map.json index 491d426243..06d49e0c88 100644 --- a/data/maps/LilycoveCity_Harbor/map.json +++ b/data/maps/LilycoveCity_Harbor/map.json @@ -86,14 +86,14 @@ "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House1/map.json b/data/maps/LilycoveCity_House1/map.json index cbd7cdbdf6..d2b2586526 100644 --- a/data/maps/LilycoveCity_House1/map.json +++ b/data/maps/LilycoveCity_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House2/map.json b/data/maps/LilycoveCity_House2/map.json index 5c208c852b..3e5e6ce2b2 100644 --- a/data/maps/LilycoveCity_House2/map.json +++ b/data/maps/LilycoveCity_House2/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 3, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House3/map.json b/data/maps/LilycoveCity_House3/map.json index 0331372c9a..bba3bf2057 100644 --- a/data/maps/LilycoveCity_House3/map.json +++ b/data/maps/LilycoveCity_House3/map.json @@ -99,14 +99,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_House4/map.json b/data/maps/LilycoveCity_House4/map.json index 7a1571abf7..21d2880cc3 100644 --- a/data/maps/LilycoveCity_House4/map.json +++ b/data/maps/LilycoveCity_House4/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json index 09875fddcc..1710e0df8f 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.json @@ -151,21 +151,21 @@ "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 10, "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 16, "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json index 76d30eb68b..83fe63aab0 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.json @@ -73,7 +73,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/map.json b/data/maps/LilycoveCity_MoveDeletersHouse/map.json index 814719a9cf..29c6f3636e 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/map.json +++ b/data/maps/LilycoveCity_MoveDeletersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/map.json b/data/maps/LilycoveCity_PokemonCenter_1F/map.json index daaec11913..595b5af54b 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/map.json b/data/maps/LilycoveCity_PokemonCenter_2F/map.json index b9c8e1302c..89c7e385fb 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/map.json +++ b/data/maps/LilycoveCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json index 7d5c42034e..ccd988bf3a 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.json @@ -138,14 +138,14 @@ "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 13, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/LilycoveCity_UnusedMart/map.json b/data/maps/LilycoveCity_UnusedMart/map.json index 696674bf13..a1eba6f4ee 100644 --- a/data/maps/LilycoveCity_UnusedMart/map.json +++ b/data/maps/LilycoveCity_UnusedMart/map.json @@ -20,14 +20,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_LILYCOVE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown/map.json b/data/maps/LittlerootTown/map.json index 5335dd66eb..8311ffaa3c 100644 --- a/data/maps/LittlerootTown/map.json +++ b/data/maps/LittlerootTown/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE101", "offset": 0, - "map": "MAP_ROUTE101" + "direction": "up" } ], "object_events": [ @@ -131,21 +131,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 16, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.json b/data/maps/LittlerootTown_BrendansHouse_1F/map.json index 3929b2e0cf..23b1bf28c6 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.json @@ -112,21 +112,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 2, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.json b/data/maps/LittlerootTown_BrendansHouse_2F/map.json index c938aaae21..e9b6834ee5 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/map.json +++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.json @@ -229,7 +229,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.json b/data/maps/LittlerootTown_MaysHouse_1F/map.json index 7396651813..4e4887003f 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_1F/map.json @@ -112,21 +112,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 8, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 2, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.json b/data/maps/LittlerootTown_MaysHouse_2F/map.json index 080eb0fe5a..ce3a5f5701 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/map.json +++ b/data/maps/LittlerootTown_MaysHouse_2F/map.json @@ -229,7 +229,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json index deee3e2643..d97c026bda 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/map.json +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.json @@ -99,14 +99,14 @@ "y": 12, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 12, "elevation": 0, "dest_map": "MAP_LITTLEROOT_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_1F/map.json b/data/maps/MagmaHideout_1F/map.json index fe5513e3f8..ad36acca37 100644 --- a/data/maps/MagmaHideout_1F/map.json +++ b/data/maps/MagmaHideout_1F/map.json @@ -99,28 +99,28 @@ "y": 34, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 25, "y": 34, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 31, "y": 3, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_2R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 22, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_3R", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_1R/map.json b/data/maps/MagmaHideout_2F_1R/map.json index a5c52683cb..4a173b31a6 100644 --- a/data/maps/MagmaHideout_2F_1R/map.json +++ b/data/maps/MagmaHideout_2F_1R/map.json @@ -73,21 +73,21 @@ "y": 23, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 2, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 17, "y": 33, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_2R/map.json b/data/maps/MagmaHideout_2F_2R/map.json index 968c07fb7f..a5f79b3e9d 100644 --- a/data/maps/MagmaHideout_2F_2R/map.json +++ b/data/maps/MagmaHideout_2F_2R/map.json @@ -99,14 +99,14 @@ "y": 22, "elevation": 3, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 4, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_2F_3R/map.json b/data/maps/MagmaHideout_2F_3R/map.json index 51a4daf263..40cbc19944 100644 --- a/data/maps/MagmaHideout_2F_3R/map.json +++ b/data/maps/MagmaHideout_2F_3R/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 13, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_3R", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_1R/map.json b/data/maps/MagmaHideout_3F_1R/map.json index edf4cfa218..48dd168447 100644 --- a/data/maps/MagmaHideout_3F_1R/map.json +++ b/data/maps/MagmaHideout_3F_1R/map.json @@ -60,21 +60,21 @@ "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 21, "y": 9, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 3, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_2R/map.json b/data/maps/MagmaHideout_3F_2R/map.json index 70c6bfb973..51ad535451 100644 --- a/data/maps/MagmaHideout_3F_2R/map.json +++ b/data/maps/MagmaHideout_3F_2R/map.json @@ -47,7 +47,7 @@ "y": 15, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_3F_3R/map.json b/data/maps/MagmaHideout_3F_3R/map.json index 824f5cb746..c3e7f3241f 100644 --- a/data/maps/MagmaHideout_3F_3R/map.json +++ b/data/maps/MagmaHideout_3F_3R/map.json @@ -34,14 +34,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_2F_3R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 16, "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MagmaHideout_4F/map.json b/data/maps/MagmaHideout_4F/map.json index 67c11481fb..d426affdec 100644 --- a/data/maps/MagmaHideout_4F/map.json +++ b/data/maps/MagmaHideout_4F/map.json @@ -125,14 +125,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 21, "elevation": 0, "dest_map": "MAP_MAGMA_HIDEOUT_3F_3R", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MarineCave_End/map.json b/data/maps/MarineCave_End/map.json index 0beeb7a4cf..3430b2da0d 100644 --- a/data/maps/MarineCave_End/map.json +++ b/data/maps/MarineCave_End/map.json @@ -34,7 +34,7 @@ "y": 4, "elevation": 0, "dest_map": "MAP_MARINE_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MarineCave_Entrance/map.json b/data/maps/MarineCave_Entrance/map.json index f815ca0699..d15583daca 100644 --- a/data/maps/MarineCave_Entrance/map.json +++ b/data/maps/MarineCave_Entrance/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MARINE_CAVE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity/map.json b/data/maps/MauvilleCity/map.json index cf3d5f8a1c..f4da4222b1 100644 --- a/data/maps/MauvilleCity/map.json +++ b/data/maps/MauvilleCity/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE111", "offset": 0, - "map": "MAP_ROUTE111" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE110", "offset": 0, - "map": "MAP_ROUTE110" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE117", "offset": 0, - "map": "MAP_ROUTE117" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE118", "offset": 0, - "map": "MAP_ROUTE118" + "direction": "right" } ], "object_events": [ @@ -185,49 +185,49 @@ "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 35, "y": 5, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_BIKE_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 23, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 13, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_GAME_CORNER", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 14, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_BikeShop/map.json b/data/maps/MauvilleCity_BikeShop/map.json index 217d3be26e..7c9a68414a 100644 --- a/data/maps/MauvilleCity_BikeShop/map.json +++ b/data/maps/MauvilleCity_BikeShop/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_GameCorner/map.json b/data/maps/MauvilleCity_GameCorner/map.json index 2564596bab..7fc434b058 100644 --- a/data/maps/MauvilleCity_GameCorner/map.json +++ b/data/maps/MauvilleCity_GameCorner/map.json @@ -177,14 +177,14 @@ "y": 10, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_Gym/map.json b/data/maps/MauvilleCity_Gym/map.json index 2451c6cd67..53c1f26bd5 100644 --- a/data/maps/MauvilleCity_Gym/map.json +++ b/data/maps/MauvilleCity_Gym/map.json @@ -112,14 +112,14 @@ "y": 20, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 20, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MauvilleCity_House1/map.json b/data/maps/MauvilleCity_House1/map.json index 019ae6f09a..4b134d6ee9 100644 --- a/data/maps/MauvilleCity_House1/map.json +++ b/data/maps/MauvilleCity_House1/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_House2/map.json b/data/maps/MauvilleCity_House2/map.json index 009befbab8..83cca3a172 100644 --- a/data/maps/MauvilleCity_House2/map.json +++ b/data/maps/MauvilleCity_House2/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_Mart/map.json b/data/maps/MauvilleCity_Mart/map.json index ee4091ee1a..53ab6ce227 100644 --- a/data/maps/MauvilleCity_Mart/map.json +++ b/data/maps/MauvilleCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/map.json b/data/maps/MauvilleCity_PokemonCenter_1F/map.json index 9feb04be9d..1b0a401b84 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_MAUVILLE_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/map.json b/data/maps/MauvilleCity_PokemonCenter_2F/map.json index 3f616938b7..96cd6007a4 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/map.json +++ b/data/maps/MauvilleCity_PokemonCenter_2F/map.json @@ -86,21 +86,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index 145289ce79..71f1d1cc5b 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -151,42 +151,42 @@ "y": 18, "elevation": 4, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 39, "elevation": 3, "dest_map": "MAP_ROUTE115", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 4, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 26, "y": 28, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 2, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_STEVENS_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MeteorFalls_1F_2R/map.json b/data/maps/MeteorFalls_1F_2R/map.json index 49e001c886..ee7857c3a9 100644 --- a/data/maps/MeteorFalls_1F_2R/map.json +++ b/data/maps/MeteorFalls_1F_2R/map.json @@ -60,28 +60,28 @@ "y": 29, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 14, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 20, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 21, "y": 23, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_B1F_1R/map.json b/data/maps/MeteorFalls_B1F_1R/map.json index 6cba2ec487..e9bb08f1b5 100644 --- a/data/maps/MeteorFalls_B1F_1R/map.json +++ b/data/maps/MeteorFalls_B1F_1R/map.json @@ -20,42 +20,42 @@ "y": 6, "elevation": 4, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 11, "elevation": 5, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 18, "y": 15, "elevation": 4, "dest_map": "MAP_METEOR_FALLS_1F_2R", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 17, "y": 3, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_2R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 23, "elevation": 5, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 20, "y": 36, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json index 7fc43762f5..8d153c4239 100644 --- a/data/maps/MeteorFalls_B1F_2R/map.json +++ b/data/maps/MeteorFalls_B1F_2R/map.json @@ -34,7 +34,7 @@ "y": 15, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_B1F_1R", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MeteorFalls_StevensCave/map.json b/data/maps/MeteorFalls_StevensCave/map.json index 01b05d3081..8e329fc0d3 100644 --- a/data/maps/MeteorFalls_StevensCave/map.json +++ b/data/maps/MeteorFalls_StevensCave/map.json @@ -34,7 +34,7 @@ "y": 29, "elevation": 3, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MirageTower_1F/map.json b/data/maps/MirageTower_1F/map.json index bb79300067..961d6a8266 100644 --- a/data/maps/MirageTower_1F/map.json +++ b/data/maps/MirageTower_1F/map.json @@ -20,14 +20,14 @@ "y": 14, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 15, "y": 2, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MirageTower_2F/map.json b/data/maps/MirageTower_2F/map.json index bf45616753..792128f561 100644 --- a/data/maps/MirageTower_2F/map.json +++ b/data/maps/MirageTower_2F/map.json @@ -20,14 +20,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 2, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MirageTower_3F/map.json b/data/maps/MirageTower_3F/map.json index 6ccbf46784..88a1e54357 100644 --- a/data/maps/MirageTower_3F/map.json +++ b/data/maps/MirageTower_3F/map.json @@ -47,14 +47,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 4, "elevation": 0, "dest_map": "MAP_MIRAGE_TOWER_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MirageTower_4F/map.json b/data/maps/MirageTower_4F/map.json index a153fbb2ac..fb375f6ae1 100644 --- a/data/maps/MirageTower_4F/map.json +++ b/data/maps/MirageTower_4F/map.json @@ -60,7 +60,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_MIRAGE_TOWER_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity/map.json b/data/maps/MossdeepCity/map.json index ff8ae1b616..3759694d88 100644 --- a/data/maps/MossdeepCity/map.json +++ b/data/maps/MossdeepCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE124", "offset": -40, - "map": "MAP_ROUTE124" + "direction": "left" } ], "object_events": [ @@ -258,70 +258,70 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 38, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 28, "y": 16, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 67, "y": 25, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 37, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 49, "y": 6, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 10, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_STEVENS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 16, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_HOUSE4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 64, "y": 15, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 24, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.json b/data/maps/MossdeepCity_GameCorner_1F/map.json index 14b89fe424..0833460ba3 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_1F/map.json @@ -47,21 +47,21 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 6, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 2, "y": 0, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_GameCorner_B1F/map.json b/data/maps/MossdeepCity_GameCorner_B1F/map.json index 180bd703a4..3aed0cceb3 100644 --- a/data/maps/MossdeepCity_GameCorner_B1F/map.json +++ b/data/maps/MossdeepCity_GameCorner_B1F/map.json @@ -34,7 +34,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GAME_CORNER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_Gym/map.json b/data/maps/MossdeepCity_Gym/map.json index 9b63a0c081..9ffe9d6fc3 100644 --- a/data/maps/MossdeepCity_Gym/map.json +++ b/data/maps/MossdeepCity_Gym/map.json @@ -489,98 +489,98 @@ "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 28, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 23, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 8, "y": 12, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 18, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 23, "y": 20, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 1, "y": 33, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 20, "y": 24, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 11, "y": 3, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 11, "y": 35, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 13, "y": 32, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 13 + "dest_warp_id": "13" }, { "x": 21, "y": 10, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_GYM", - "dest_warp_id": 12 + "dest_warp_id": "12" } ], "coord_events": [ diff --git a/data/maps/MossdeepCity_House1/map.json b/data/maps/MossdeepCity_House1/map.json index f4338078e4..e45335ac5e 100644 --- a/data/maps/MossdeepCity_House1/map.json +++ b/data/maps/MossdeepCity_House1/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House2/map.json b/data/maps/MossdeepCity_House2/map.json index e7990bad99..a8a03ed958 100644 --- a/data/maps/MossdeepCity_House2/map.json +++ b/data/maps/MossdeepCity_House2/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House3/map.json b/data/maps/MossdeepCity_House3/map.json index a0587ca0ab..4a65741211 100644 --- a/data/maps/MossdeepCity_House3/map.json +++ b/data/maps/MossdeepCity_House3/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_House4/map.json b/data/maps/MossdeepCity_House4/map.json index 0c7e0a1122..b17bc357ab 100644 --- a/data/maps/MossdeepCity_House4/map.json +++ b/data/maps/MossdeepCity_House4/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 3, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_Mart/map.json b/data/maps/MossdeepCity_Mart/map.json index 37885b7524..9679df7892 100644 --- a/data/maps/MossdeepCity_Mart/map.json +++ b/data/maps/MossdeepCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/map.json b/data/maps/MossdeepCity_PokemonCenter_1F/map.json index ac3b51e8f9..72863244c7 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/map.json b/data/maps/MossdeepCity_PokemonCenter_2F/map.json index 7fa6566979..be24e32cc1 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/map.json +++ b/data/maps/MossdeepCity_PokemonCenter_2F/map.json @@ -86,21 +86,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.json b/data/maps/MossdeepCity_SpaceCenter_1F/map.json index 0f50696657..e7f47bcfb8 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.json @@ -164,21 +164,21 @@ "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 8, "y": 9, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.json b/data/maps/MossdeepCity_SpaceCenter_2F/map.json index 8990aa0759..f68b5bfd3e 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/map.json +++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.json @@ -138,7 +138,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MossdeepCity_StevensHouse/map.json b/data/maps/MossdeepCity_StevensHouse/map.json index cad7609d31..3a864a67c9 100644 --- a/data/maps/MossdeepCity_StevensHouse/map.json +++ b/data/maps/MossdeepCity_StevensHouse/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_MOSSDEEP_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/MtChimney/map.json b/data/maps/MtChimney/map.json index 7083ff7de1..55bd065cb6 100644 --- a/data/maps/MtChimney/map.json +++ b/data/maps/MtChimney/map.json @@ -411,28 +411,28 @@ "y": 36, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 36, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY_CABLE_CAR_STATION", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 41, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 21, "y": 41, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtChimney_CableCarStation/map.json b/data/maps/MtChimney_CableCarStation/map.json index 410bc0c2e6..5fe36a3735 100644 --- a/data/maps/MtChimney_CableCarStation/map.json +++ b/data/maps/MtChimney_CableCarStation/map.json @@ -47,14 +47,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 11, "elevation": 0, "dest_map": "MAP_MT_CHIMNEY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/MtPyre_1F/map.json b/data/maps/MtPyre_1F/map.json index 248bd65304..b8a164d4cc 100644 --- a/data/maps/MtPyre_1F/map.json +++ b/data/maps/MtPyre_1F/map.json @@ -60,42 +60,42 @@ "y": 18, "elevation": 3, "dest_map": "MAP_ROUTE122", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 6, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 18, "elevation": 3, "dest_map": "MAP_ROUTE122", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 6, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 9, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/MtPyre_2F/map.json b/data/maps/MtPyre_2F/map.json index 0668bcf788..a0a86cd840 100644 --- a/data/maps/MtPyre_2F/map.json +++ b/data/maps/MtPyre_2F/map.json @@ -125,35 +125,35 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 11, "y": 9, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/MtPyre_3F/map.json b/data/maps/MtPyre_3F/map.json index 35c6c1b04b..5202a583bf 100644 --- a/data/maps/MtPyre_3F/map.json +++ b/data/maps/MtPyre_3F/map.json @@ -73,42 +73,42 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 1, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 10, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_2F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_4F/map.json b/data/maps/MtPyre_4F/map.json index d326bff72b..48fdeec2d3 100644 --- a/data/maps/MtPyre_4F/map.json +++ b/data/maps/MtPyre_4F/map.json @@ -47,42 +47,42 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 5, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_3F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_5F/map.json b/data/maps/MtPyre_5F/map.json index fb7c3f2f84..04b889c6cf 100644 --- a/data/maps/MtPyre_5F/map.json +++ b/data/maps/MtPyre_5F/map.json @@ -47,35 +47,35 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_6F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 5, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_6F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 12, "elevation": 3, "dest_map": "MAP_MT_PYRE_4F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index 88c091f3e3..9da33f4bc6 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -60,14 +60,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_5F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index 2df79262c2..417a38d977 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -47,21 +47,21 @@ "y": 42, "elevation": 3, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 19, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_SUMMIT", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 20, "y": 10, "elevation": 3, "dest_map": "MAP_MT_PYRE_SUMMIT", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ @@ -70,7 +70,7 @@ "x": 24, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" }, @@ -79,7 +79,7 @@ "x": 25, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" }, @@ -88,7 +88,7 @@ "x": 22, "y": 27, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_SunTrigger" }, @@ -97,7 +97,7 @@ "x": 23, "y": 28, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_SunTrigger" }, @@ -106,7 +106,7 @@ "x": 26, "y": 21, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "MtPyre_Exterior_EventScript_FogTrigger" } diff --git a/data/maps/MtPyre_Summit/map.json b/data/maps/MtPyre_Summit/map.json index aa3341f8ac..49fd8b9f72 100644 --- a/data/maps/MtPyre_Summit/map.json +++ b/data/maps/MtPyre_Summit/map.json @@ -125,21 +125,21 @@ "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 23, "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 24, "y": 31, "elevation": 3, "dest_map": "MAP_MT_PYRE_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/NavelRock_B1F/map.json b/data/maps/NavelRock_B1F/map.json index 8e366fc165..6a0a9bf23b 100644 --- a/data/maps/NavelRock_B1F/map.json +++ b/data/maps/NavelRock_B1F/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 9, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Bottom/map.json b/data/maps/NavelRock_Bottom/map.json index 13d6762006..bd7ce3ffec 100644 --- a/data/maps/NavelRock_Bottom/map.json +++ b/data/maps/NavelRock_Bottom/map.json @@ -34,7 +34,7 @@ "y": 19, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_DOWN11", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down01/map.json b/data/maps/NavelRock_Down01/map.json index 6749969204..4f5276ee1e 100644 --- a/data/maps/NavelRock_Down01/map.json +++ b/data/maps/NavelRock_Down01/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN02", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down02/map.json b/data/maps/NavelRock_Down02/map.json index 7c75a1b036..094e00c685 100644 --- a/data/maps/NavelRock_Down02/map.json +++ b/data/maps/NavelRock_Down02/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN01", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN03", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down03/map.json b/data/maps/NavelRock_Down03/map.json index 936ebab778..a5983697cd 100644 --- a/data/maps/NavelRock_Down03/map.json +++ b/data/maps/NavelRock_Down03/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN02", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN04", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down04/map.json b/data/maps/NavelRock_Down04/map.json index 585ee75380..59a703f14d 100644 --- a/data/maps/NavelRock_Down04/map.json +++ b/data/maps/NavelRock_Down04/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN03", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN05", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down05/map.json b/data/maps/NavelRock_Down05/map.json index 1099d9caab..7df23fdbb6 100644 --- a/data/maps/NavelRock_Down05/map.json +++ b/data/maps/NavelRock_Down05/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN04", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN06", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down06/map.json b/data/maps/NavelRock_Down06/map.json index 7fb26f293a..bbec56a76a 100644 --- a/data/maps/NavelRock_Down06/map.json +++ b/data/maps/NavelRock_Down06/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN05", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN07", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down07/map.json b/data/maps/NavelRock_Down07/map.json index 36896f3068..2815f3b134 100644 --- a/data/maps/NavelRock_Down07/map.json +++ b/data/maps/NavelRock_Down07/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN06", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN08", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down08/map.json b/data/maps/NavelRock_Down08/map.json index f9945f49f8..d6887a4812 100644 --- a/data/maps/NavelRock_Down08/map.json +++ b/data/maps/NavelRock_Down08/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN07", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN09", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down09/map.json b/data/maps/NavelRock_Down09/map.json index 38b2fdae82..1345a5aae9 100644 --- a/data/maps/NavelRock_Down09/map.json +++ b/data/maps/NavelRock_Down09/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN08", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN10", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down10/map.json b/data/maps/NavelRock_Down10/map.json index 7ea3bfa3bf..eece7988e5 100644 --- a/data/maps/NavelRock_Down10/map.json +++ b/data/maps/NavelRock_Down10/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN09", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN11", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Down11/map.json b/data/maps/NavelRock_Down11/map.json index da05c7e6b6..1e8ffe54b5 100644 --- a/data/maps/NavelRock_Down11/map.json +++ b/data/maps/NavelRock_Down11/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_BOTTOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN10", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Entrance/map.json b/data/maps/NavelRock_Entrance/map.json index ab14b2da12..2421130364 100644 --- a/data/maps/NavelRock_Entrance/map.json +++ b/data/maps/NavelRock_Entrance/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 26, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Exterior/map.json b/data/maps/NavelRock_Exterior/map.json index 13927b6b6f..a900e7e647 100644 --- a/data/maps/NavelRock_Exterior/map.json +++ b/data/maps/NavelRock_Exterior/map.json @@ -20,14 +20,14 @@ "y": 18, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 10, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Fork/map.json b/data/maps/NavelRock_Fork/map.json index a8929208f2..cbb7be0299 100644 --- a/data/maps/NavelRock_Fork/map.json +++ b/data/maps/NavelRock_Fork/map.json @@ -20,21 +20,21 @@ "y": 6, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 79, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 6, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_DOWN01", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Harbor/map.json b/data/maps/NavelRock_Harbor/map.json index 34e1391086..ed0bb70dac 100644 --- a/data/maps/NavelRock_Harbor/map.json +++ b/data/maps/NavelRock_Harbor/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 0, "dest_map": "MAP_NAVEL_ROCK_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Top/map.json b/data/maps/NavelRock_Top/map.json index c062027264..c818fc3994 100644 --- a/data/maps/NavelRock_Top/map.json +++ b/data/maps/NavelRock_Top/map.json @@ -34,7 +34,7 @@ "y": 20, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP4", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/NavelRock_Up1/map.json b/data/maps/NavelRock_Up1/map.json index ee744ff4bc..ff20085a80 100644 --- a/data/maps/NavelRock_Up1/map.json +++ b/data/maps/NavelRock_Up1/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_FORK", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up2/map.json b/data/maps/NavelRock_Up2/map.json index aa24703294..fd9324a791 100644 --- a/data/maps/NavelRock_Up2/map.json +++ b/data/maps/NavelRock_Up2/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up3/map.json b/data/maps/NavelRock_Up3/map.json index 2629eafb1e..2394a6a1bf 100644 --- a/data/maps/NavelRock_Up3/map.json +++ b/data/maps/NavelRock_Up3/map.json @@ -20,14 +20,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP4", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NavelRock_Up4/map.json b/data/maps/NavelRock_Up4/map.json index 4060a52a7d..de9b7655fe 100644 --- a/data/maps/NavelRock_Up4/map.json +++ b/data/maps/NavelRock_Up4/map.json @@ -20,14 +20,14 @@ "y": 3, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_UP3", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 5, "elevation": 3, "dest_map": "MAP_NAVEL_ROCK_TOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/NewMauville_Entrance/map.json b/data/maps/NewMauville_Entrance/map.json index d66c5b13b2..aadb847443 100644 --- a/data/maps/NewMauville_Entrance/map.json +++ b/data/maps/NewMauville_Entrance/map.json @@ -20,14 +20,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_INSIDE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/NewMauville_Inside/map.json b/data/maps/NewMauville_Inside/map.json index ae1654d8b5..8524c25ec0 100644 --- a/data/maps/NewMauville_Inside/map.json +++ b/data/maps/NewMauville_Inside/map.json @@ -125,7 +125,7 @@ "y": 33, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/OldaleTown/map.json b/data/maps/OldaleTown/map.json index cc4bd008c3..302ef5e9d0 100644 --- a/data/maps/OldaleTown/map.json +++ b/data/maps/OldaleTown/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE103", "offset": 0, - "map": "MAP_ROUTE103" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE101", "offset": 0, - "map": "MAP_ROUTE101" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE102", "offset": 0, - "map": "MAP_ROUTE102" + "direction": "left" } ], "object_events": [ @@ -89,28 +89,28 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 16, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 16, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 6, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/OldaleTown_House1/map.json b/data/maps/OldaleTown_House1/map.json index cd64357dc8..8b8f92b9f9 100644 --- a/data/maps/OldaleTown_House1/map.json +++ b/data/maps/OldaleTown_House1/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_House2/map.json b/data/maps/OldaleTown_House2/map.json index 2347fc29aa..de6bb9ac60 100644 --- a/data/maps/OldaleTown_House2/map.json +++ b/data/maps/OldaleTown_House2/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_Mart/map.json b/data/maps/OldaleTown_Mart/map.json index 6922235418..cfca496fd9 100644 --- a/data/maps/OldaleTown_Mart/map.json +++ b/data/maps/OldaleTown_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.json b/data/maps/OldaleTown_PokemonCenter_1F/map.json index 46ee3f9bd1..d3f72b8492 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_OLDALE_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.json b/data/maps/OldaleTown_PokemonCenter_2F/map.json index fdeb28c069..9fad688217 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/map.json +++ b/data/maps/OldaleTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_OLDALE_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown/map.json b/data/maps/PacifidlogTown/map.json index 51fc772a92..37cfe8ad08 100644 --- a/data/maps/PacifidlogTown/map.json +++ b/data/maps/PacifidlogTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE132", "offset": 0, - "map": "MAP_ROUTE132" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE131", "offset": 0, - "map": "MAP_ROUTE131" + "direction": "right" } ], "object_events": [ @@ -71,42 +71,42 @@ "y": 15, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 13, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 22, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 24, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 2, "y": 12, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 21, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House1/map.json b/data/maps/PacifidlogTown_House1/map.json index a494819a5d..0eb98e8d5c 100644 --- a/data/maps/PacifidlogTown_House1/map.json +++ b/data/maps/PacifidlogTown_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House2/map.json b/data/maps/PacifidlogTown_House2/map.json index 027442b4ba..5f8d260c12 100644 --- a/data/maps/PacifidlogTown_House2/map.json +++ b/data/maps/PacifidlogTown_House2/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House3/map.json b/data/maps/PacifidlogTown_House3/map.json index 17f99cea13..8b9efefa34 100644 --- a/data/maps/PacifidlogTown_House3/map.json +++ b/data/maps/PacifidlogTown_House3/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House4/map.json b/data/maps/PacifidlogTown_House4/map.json index 4c4cdb15b1..0dc3774d76 100644 --- a/data/maps/PacifidlogTown_House4/map.json +++ b/data/maps/PacifidlogTown_House4/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_House5/map.json b/data/maps/PacifidlogTown_House5/map.json index ac93845024..b665908c0c 100644 --- a/data/maps/PacifidlogTown_House5/map.json +++ b/data/maps/PacifidlogTown_House5/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json index 50baa2b7c1..f98fdb3dd7 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_PACIFIDLOG_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json index 1837ab55cb..3741feb836 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/map.json +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity/map.json b/data/maps/PetalburgCity/map.json index d9587cdbb9..d653e46aec 100644 --- a/data/maps/PetalburgCity/map.json +++ b/data/maps/PetalburgCity/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE104", "offset": -50, - "map": "MAP_ROUTE104" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE102", "offset": 10, - "map": "MAP_ROUTE102" + "direction": "right" } ], "object_events": [ @@ -149,42 +149,42 @@ "y": 19, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 5, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_WALLYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 16, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 20, "y": 24, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 25, "y": 12, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/PetalburgCity_Gym/map.json b/data/maps/PetalburgCity_Gym/map.json index 307708fc19..ef58491713 100644 --- a/data/maps/PetalburgCity_Gym/map.json +++ b/data/maps/PetalburgCity_Gym/map.json @@ -164,266 +164,266 @@ "y": 111, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 111, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 105, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 7, "y": 85, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 85, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 105, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 1, "y": 98, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 2, "y": 98, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 1, "y": 79, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 7, "y": 79, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 7, "y": 46, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 6, "y": 46, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 1, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 2, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 92, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 16 + "dest_warp_id": "16" }, { "x": 7, "y": 92, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 18 + "dest_warp_id": "18" }, { "x": 7, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 6, "y": 59, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 14 + "dest_warp_id": "14" }, { "x": 1, "y": 72, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 2, "y": 72, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 15 + "dest_warp_id": "15" }, { "x": 7, "y": 40, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 24 + "dest_warp_id": "24" }, { "x": 1, "y": 53, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 26 + "dest_warp_id": "26" }, { "x": 7, "y": 53, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 28 + "dest_warp_id": "28" }, { "x": 1, "y": 66, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 30 + "dest_warp_id": "30" }, { "x": 1, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 2, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 20 + "dest_warp_id": "20" }, { "x": 7, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 6, "y": 20, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 21 + "dest_warp_id": "21" }, { "x": 1, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 2, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 22 + "dest_warp_id": "22" }, { "x": 7, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 6, "y": 33, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 23 + "dest_warp_id": "23" }, { "x": 7, "y": 14, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 34 + "dest_warp_id": "34" }, { "x": 1, "y": 27, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 36 + "dest_warp_id": "36" }, { "x": 1, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 32 + "dest_warp_id": "32" }, { "x": 2, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 32 + "dest_warp_id": "32" }, { "x": 7, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 33 + "dest_warp_id": "33" }, { "x": 6, "y": 7, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY_GYM", - "dest_warp_id": 33 + "dest_warp_id": "33" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_House1/map.json b/data/maps/PetalburgCity_House1/map.json index 54bd3303f0..2b1e966480 100644 --- a/data/maps/PetalburgCity_House1/map.json +++ b/data/maps/PetalburgCity_House1/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_House2/map.json b/data/maps/PetalburgCity_House2/map.json index 4a5436b97c..74d1287597 100644 --- a/data/maps/PetalburgCity_House2/map.json +++ b/data/maps/PetalburgCity_House2/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_Mart/map.json b/data/maps/PetalburgCity_Mart/map.json index a55e27293c..7c8a70b28e 100644 --- a/data/maps/PetalburgCity_Mart/map.json +++ b/data/maps/PetalburgCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/map.json b/data/maps/PetalburgCity_PokemonCenter_1F/map.json index 875c53c2b9..12b7810df9 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_1F/map.json @@ -86,21 +86,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/map.json b/data/maps/PetalburgCity_PokemonCenter_2F/map.json index 8eb89d2083..b2078e4955 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/map.json +++ b/data/maps/PetalburgCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_PETALBURG_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/PetalburgCity_WallysHouse/map.json b/data/maps/PetalburgCity_WallysHouse/map.json index 0b8007a918..f2fd03e7ff 100644 --- a/data/maps/PetalburgCity_WallysHouse/map.json +++ b/data/maps/PetalburgCity_WallysHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_PETALBURG_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/PetalburgWoods/map.json b/data/maps/PetalburgWoods/map.json index fa97b5dd16..4179d81957 100644 --- a/data/maps/PetalburgWoods/map.json +++ b/data/maps/PetalburgWoods/map.json @@ -190,42 +190,42 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 16, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 17, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 36, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 37, "y": 38, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [ diff --git a/data/maps/RecordCorner/map.json b/data/maps/RecordCorner/map.json index 083f444452..e19e89e09d 100644 --- a/data/maps/RecordCorner/map.json +++ b/data/maps/RecordCorner/map.json @@ -33,29 +33,29 @@ "x": 8, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 9, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 11, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 10, "y": 9, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/Route101/map.json b/data/maps/Route101/map.json index 34dc92841c..1abb23030b 100644 --- a/data/maps/Route101/map.json +++ b/data/maps/Route101/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "up" }, { - "direction": "down", + "map": "MAP_LITTLEROOT_TOWN", "offset": 0, - "map": "MAP_LITTLEROOT_TOWN" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/Route102/map.json b/data/maps/Route102/map.json index aaa63b11f6..68e3549dbb 100644 --- a/data/maps/Route102/map.json +++ b/data/maps/Route102/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_PETALBURG_CITY", "offset": -10, - "map": "MAP_PETALBURG_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route103/map.json b/data/maps/Route103/map.json index fbf92dd0c1..9bc6fed67f 100644 --- a/data/maps/Route103/map.json +++ b/data/maps/Route103/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_OLDALE_TOWN", "offset": 0, - "map": "MAP_OLDALE_TOWN" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE110", "offset": -60, - "map": "MAP_ROUTE110" + "direction": "right" } ], "object_events": [ @@ -292,7 +292,7 @@ "y": 6, "elevation": 0, "dest_map": "MAP_ALTERING_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index e2b75e0c3d..557db64e29 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -114,7 +114,7 @@ Route103_EventScript_RivalExitFacingNorth:: applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth1 waitmovement 0 playse SE_LEDGE - applymovement LOCALID_RIVAL, Route103_EventScript_RivalExitFacingNorth2 + applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth2 waitmovement 0 goto Route103_EventScript_RivalEnd end @@ -155,7 +155,7 @@ Route103_Movement_RivalExitFacingNorth1: walk_down step_end -Route103_EventScript_RivalExitFacingNorth2: +Route103_Movement_RivalExitFacingNorth2: jump_2_down delay_16 walk_down diff --git a/data/maps/Route104/map.json b/data/maps/Route104/map.json index 6ec8b37526..80af8aa6d8 100644 --- a/data/maps/Route104/map.json +++ b/data/maps/Route104/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "down" }, { - "direction": "right", + "map": "MAP_PETALBURG_CITY", "offset": 50, - "map": "MAP_PETALBURG_CITY" + "direction": "right" } ], "object_events": [ @@ -479,56 +479,56 @@ "y": 50, "elevation": 0, "dest_map": "MAP_ROUTE104_MR_BRINEYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 18, "elevation": 0, "dest_map": "MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 30, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 30, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 38, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 38, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 32, "y": 42, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 33, "y": 42, "elevation": 3, "dest_map": "MAP_PETALBURG_WOODS", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [ diff --git a/data/maps/Route104_MrBrineysHouse/map.json b/data/maps/Route104_MrBrineysHouse/map.json index ae4ffc7911..6424965291 100644 --- a/data/maps/Route104_MrBrineysHouse/map.json +++ b/data/maps/Route104_MrBrineysHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.json b/data/maps/Route104_PrettyPetalFlowerShop/map.json index ec18b1ded9..27e18ddc71 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/map.json +++ b/data/maps/Route104_PrettyPetalFlowerShop/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE104", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route105/map.json b/data/maps/Route105/map.json index bd951f62c7..ae9bb6a5aa 100644 --- a/data/maps/Route105/map.json +++ b/data/maps/Route105/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE104", "offset": 0, - "map": "MAP_ROUTE104" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE106", "offset": 0, - "map": "MAP_ROUTE106" + "direction": "down" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE105", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE105" + "direction": "dive" } ], "object_events": [ @@ -141,7 +141,7 @@ "y": 20, "elevation": 0, "dest_map": "MAP_ISLAND_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route106/map.json b/data/maps/Route106/map.json index c28d593a7f..5a0a38dc9a 100644 --- a/data/maps/Route106/map.json +++ b/data/maps/Route106/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "up" }, { - "direction": "down", + "map": "MAP_DEWFORD_TOWN", "offset": 60, - "map": "MAP_DEWFORD_TOWN" + "direction": "down" } ], "object_events": [ @@ -97,7 +97,7 @@ "y": 16, "elevation": 0, "dest_map": "MAP_GRANITE_CAVE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route107/map.json b/data/maps/Route107/map.json index ddc0f14598..ee15509cdb 100644 --- a/data/maps/Route107/map.json +++ b/data/maps/Route107/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_DEWFORD_TOWN", "offset": 0, - "map": "MAP_DEWFORD_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE108", "offset": 0, - "map": "MAP_ROUTE108" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route108/map.json b/data/maps/Route108/map.json index 21acfd6cae..405ae34014 100644 --- a/data/maps/Route108/map.json +++ b/data/maps/Route108/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE107", "offset": 0, - "map": "MAP_ROUTE107" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE109", "offset": -40, - "map": "MAP_ROUTE109" + "direction": "right" } ], "object_events": [ @@ -123,7 +123,7 @@ "y": 6, "elevation": 3, "dest_map": "MAP_ABANDONED_SHIP_DECK", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route109/map.json b/data/maps/Route109/map.json index 2ddcc4530b..49357f0a0e 100644 --- a/data/maps/Route109/map.json +++ b/data/maps/Route109/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE108", "offset": 40, - "map": "MAP_ROUTE108" + "direction": "left" } ], "object_events": [ @@ -344,7 +344,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE109_SEASHORE_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route109_SeashoreHouse/map.json b/data/maps/Route109_SeashoreHouse/map.json index 0a8164ba7c..e2ae2a68e0 100644 --- a/data/maps/Route109_SeashoreHouse/map.json +++ b/data/maps/Route109_SeashoreHouse/map.json @@ -73,14 +73,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_ROUTE109", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_ROUTE109", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110/map.json b/data/maps/Route110/map.json index abfc2b767d..630b20bd37 100644 --- a/data/maps/Route110/map.json +++ b/data/maps/Route110/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE103", "offset": 60, - "map": "MAP_ROUTE103" + "direction": "left" } ], "object_events": [ @@ -505,42 +505,42 @@ "y": 24, "elevation": 3, "dest_map": "MAP_NEW_MAUVILLE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 66, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 16, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 18, "y": 16, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 16, "y": 88, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 88, "elevation": 0, "dest_map": "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json index 0d382f2754..6f3c6c75c5 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [ diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json index 12cd26adae..59e3e5be65 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/map.json @@ -34,28 +34,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseCorridor/map.json b/data/maps/Route110_TrickHouseCorridor/map.json index 5d6ddb5561..70bf782584 100644 --- a/data/maps/Route110_TrickHouseCorridor/map.json +++ b/data/maps/Route110_TrickHouseCorridor/map.json @@ -20,28 +20,28 @@ "y": 3, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 3, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 23, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 23, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHouseEnd/map.json b/data/maps/Route110_TrickHouseEnd/map.json index c82d871fbd..90d2285496 100644 --- a/data/maps/Route110_TrickHouseEnd/map.json +++ b/data/maps/Route110_TrickHouseEnd/map.json @@ -34,14 +34,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseEntrance/map.json b/data/maps/Route110_TrickHouseEntrance/map.json index 5895ae7884..5584a534c3 100644 --- a/data/maps/Route110_TrickHouseEntrance/map.json +++ b/data/maps/Route110_TrickHouseEntrance/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 7, "elevation": 3, "dest_map": "MAP_ROUTE110", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 2, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 44dda8c5c1..52327553e3 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -625,7 +625,7 @@ Route110_TrickHousePuzzle6_EventScript_Door:: Route110_TrickHousePuzzle7_EventScript_Door:: goto_if_eq VAR_TRICK_HOUSE_PUZZLE_7_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked - msgbox Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle7_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_7_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE @@ -635,7 +635,7 @@ Route110_TrickHousePuzzle7_EventScript_Door:: Route110_TrickHousePuzzle8_EventScript_Door:: goto_if_eq VAR_TRICK_HOUSE_PUZZLE_8_STATE, 0, Route110_TrickHousePuzzle_EventScript_DoorLocked - msgbox Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened, MSGBOX_DEFAULT + msgbox Route110_TrickHousePuzzle8_Text_WroteSecretCodeLockOpened, MSGBOX_DEFAULT playse SE_PIN setvar VAR_TRICK_HOUSE_PUZZLE_8_STATE, 2 setmetatile 13, 1, METATILE_TrickHousePuzzle_Stairs_Down, FALSE diff --git a/data/maps/Route110_TrickHousePuzzle1/map.json b/data/maps/Route110_TrickHousePuzzle1/map.json index 42a416b51f..1af3b9de25 100644 --- a/data/maps/Route110_TrickHousePuzzle1/map.json +++ b/data/maps/Route110_TrickHousePuzzle1/map.json @@ -216,21 +216,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle2/map.json b/data/maps/Route110_TrickHousePuzzle2/map.json index 2b3ca9b2e3..1aea0fde0c 100644 --- a/data/maps/Route110_TrickHousePuzzle2/map.json +++ b/data/maps/Route110_TrickHousePuzzle2/map.json @@ -86,21 +86,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle3/map.json b/data/maps/Route110_TrickHousePuzzle3/map.json index ba01c6b334..ba6c31c5d2 100644 --- a/data/maps/Route110_TrickHousePuzzle3/map.json +++ b/data/maps/Route110_TrickHousePuzzle3/map.json @@ -112,21 +112,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle4/map.json b/data/maps/Route110_TrickHousePuzzle4/map.json index 8e8348c953..3653dfba91 100644 --- a/data/maps/Route110_TrickHousePuzzle4/map.json +++ b/data/maps/Route110_TrickHousePuzzle4/map.json @@ -203,21 +203,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle5/map.json b/data/maps/Route110_TrickHousePuzzle5/map.json index 9eba5d7f84..3775505235 100644 --- a/data/maps/Route110_TrickHousePuzzle5/map.json +++ b/data/maps/Route110_TrickHousePuzzle5/map.json @@ -86,21 +86,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle6/map.json b/data/maps/Route110_TrickHousePuzzle6/map.json index ff6e3e7f31..8c6aa30489 100644 --- a/data/maps/Route110_TrickHousePuzzle6/map.json +++ b/data/maps/Route110_TrickHousePuzzle6/map.json @@ -73,21 +73,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle7/map.json b/data/maps/Route110_TrickHousePuzzle7/map.json index f5976bdefa..15237e23c7 100644 --- a/data/maps/Route110_TrickHousePuzzle7/map.json +++ b/data/maps/Route110_TrickHousePuzzle7/map.json @@ -138,91 +138,91 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 4, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 7, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 13, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 1, "y": 17, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 0, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 2, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 1, "y": 3, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 8, "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [ diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc index a47df82cac..45f4e8d0f1 100644 --- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc @@ -314,7 +314,7 @@ Route110_TrickHousePuzzle7_EventScript_Everett:: msgbox Route110_TrickHousePuzzle7_Text_EverettPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle7_EventScript_WroteSecretCodeLockOpened:: +Route110_TrickHousePuzzle7_Text_WroteSecretCodeLockOpened:: .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER is huggable.”\n" diff --git a/data/maps/Route110_TrickHousePuzzle8/map.json b/data/maps/Route110_TrickHousePuzzle8/map.json index bfb106eb66..c9fa42d7b7 100644 --- a/data/maps/Route110_TrickHousePuzzle8/map.json +++ b/data/maps/Route110_TrickHousePuzzle8/map.json @@ -73,21 +73,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 21, "elevation": 3, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE110_TRICK_HOUSE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc index 371f610004..5f268224d5 100644 --- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc @@ -27,7 +27,7 @@ Route110_TrickHousePuzzle8_EventScript_Leroy:: msgbox Route110_TrickHousePuzzle8_Text_LeroyPostBattle, MSGBOX_AUTOCLOSE end -Route110_TrickHousePuzzle8_EventScript_WroteSecretCodeLockOpened:: +Route110_TrickHousePuzzle8_Text_WroteSecretCodeLockOpened:: .string "{PLAYER} wrote down the secret code\n" .string "on the door.\p" .string "“TRICK MASTER I love.”\n" diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index 566e7c9629..bc476ebaaf 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE113", "offset": 0, - "map": "MAP_ROUTE113" + "direction": "left" }, { - "direction": "left", + "map": "MAP_ROUTE112", "offset": 20, - "map": "MAP_ROUTE112" + "direction": "left" } ], "object_events": [ @@ -635,35 +635,35 @@ "y": 113, "elevation": 0, "dest_map": "MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 87, "elevation": 0, "dest_map": "MAP_DESERT_RUINS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 18, "elevation": 0, "dest_map": "MAP_ROUTE111_OLD_LADYS_REST_STOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 58, "elevation": 0, "dest_map": "MAP_MIRAGE_TOWER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 113, "elevation": 0, "dest_map": "MAP_TRAINER_HILL_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ @@ -672,7 +672,7 @@ "x": 12, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -708,7 +708,7 @@ "x": 7, "y": 63, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -762,7 +762,7 @@ "x": 18, "y": 32, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -771,7 +771,7 @@ "x": 17, "y": 31, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -780,7 +780,7 @@ "x": 9, "y": 37, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -789,7 +789,7 @@ "x": 10, "y": 36, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -816,7 +816,7 @@ "x": 8, "y": 64, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -825,7 +825,7 @@ "x": 9, "y": 65, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -834,7 +834,7 @@ "x": 10, "y": 65, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -843,7 +843,7 @@ "x": 11, "y": 66, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -852,7 +852,7 @@ "x": 12, "y": 67, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -861,7 +861,7 @@ "x": 13, "y": 68, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -870,7 +870,7 @@ "x": 14, "y": 69, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SunTrigger" }, @@ -879,7 +879,7 @@ "x": 10, "y": 61, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -888,7 +888,7 @@ "x": 11, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -897,7 +897,7 @@ "x": 13, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -906,7 +906,7 @@ "x": 14, "y": 62, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -915,7 +915,7 @@ "x": 17, "y": 38, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -924,7 +924,7 @@ "x": 16, "y": 39, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -933,7 +933,7 @@ "x": 15, "y": 40, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -942,7 +942,7 @@ "x": 14, "y": 41, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -951,7 +951,7 @@ "x": 13, "y": 42, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -960,7 +960,7 @@ "x": 12, "y": 43, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" }, @@ -969,7 +969,7 @@ "x": 11, "y": 44, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "Route111_EventScript_SandstormTrigger" } diff --git a/data/maps/Route111_OldLadysRestStop/map.json b/data/maps/Route111_OldLadysRestStop/map.json index 419e4c2ee0..b72b7e8e2b 100644 --- a/data/maps/Route111_OldLadysRestStop/map.json +++ b/data/maps/Route111_OldLadysRestStop/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route111_WinstrateFamilysHouse/map.json b/data/maps/Route111_WinstrateFamilysHouse/map.json index f889359712..5e6f9d75e8 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/map.json +++ b/data/maps/Route111_WinstrateFamilysHouse/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route112/map.json b/data/maps/Route112/map.json index 04b2e6d126..5340680ea5 100644 --- a/data/maps/Route112/map.json +++ b/data/maps/Route112/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE113", "offset": -60, - "map": "MAP_ROUTE113" + "direction": "up" }, { - "direction": "left", + "map": "MAP_LAVARIDGE_TOWN", "offset": 40, - "map": "MAP_LAVARIDGE_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE111", "offset": -20, - "map": "MAP_ROUTE111" + "direction": "right" } ], "object_events": [ @@ -219,42 +219,42 @@ "y": 27, "elevation": 0, "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 27, "elevation": 0, "dest_map": "MAP_ROUTE112_CABLE_CAR_STATION", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 6, "y": 46, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 46, "elevation": 3, "dest_map": "MAP_JAGGED_PASS", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 36, "elevation": 0, "dest_map": "MAP_FIERY_PATH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 22, "y": 10, "elevation": 0, "dest_map": "MAP_FIERY_PATH", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route112_CableCarStation/map.json b/data/maps/Route112_CableCarStation/map.json index 7adae98f7b..09401d83b0 100644 --- a/data/maps/Route112_CableCarStation/map.json +++ b/data/maps/Route112_CableCarStation/map.json @@ -47,14 +47,14 @@ "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 11, "elevation": 0, "dest_map": "MAP_ROUTE112", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index 783406346e..4c45d904cb 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE112", "offset": 60, - "map": "MAP_ROUTE112" + "direction": "down" }, { - "direction": "left", + "map": "MAP_FALLARBOR_TOWN", "offset": 0, - "map": "MAP_FALLARBOR_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE111", "offset": 0, - "map": "MAP_ROUTE111" + "direction": "right" } ], "object_events": [ @@ -245,21 +245,21 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE113_GLASS_WORKSHOP", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 41, "y": 12, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 88, "y": 5, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route113_GlassWorkshop/map.json b/data/maps/Route113_GlassWorkshop/map.json index 924fbd85dd..61d470b46b 100644 --- a/data/maps/Route113_GlassWorkshop/map.json +++ b/data/maps/Route113_GlassWorkshop/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE113", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE113", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114/map.json b/data/maps/Route114/map.json index 38891b5183..10f15233c9 100644 --- a/data/maps/Route114/map.json +++ b/data/maps/Route114/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE115", "offset": 40, - "map": "MAP_ROUTE115" + "direction": "left" }, { - "direction": "right", + "map": "MAP_FALLARBOR_TOWN", "offset": 0, - "map": "MAP_FALLARBOR_TOWN" + "direction": "right" } ], "object_events": [ @@ -383,35 +383,35 @@ "y": 63, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 36, "elevation": 0, "dest_map": "MAP_ROUTE114_LANETTES_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 46, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 4, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114_FossilManiacsHouse/map.json b/data/maps/Route114_FossilManiacsHouse/map.json index dd21ff77f2..a4b00fac40 100644 --- a/data/maps/Route114_FossilManiacsHouse/map.json +++ b/data/maps/Route114_FossilManiacsHouse/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route114_FossilManiacsTunnel/map.json b/data/maps/Route114_FossilManiacsTunnel/map.json index 9a8ac70c94..034545e6ba 100644 --- a/data/maps/Route114_FossilManiacsTunnel/map.json +++ b/data/maps/Route114_FossilManiacsTunnel/map.json @@ -34,21 +34,21 @@ "y": 25, "elevation": 3, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 7, "y": 25, "elevation": 3, "dest_map": "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 2, "elevation": 0, "dest_map": "MAP_DESERT_UNDERPASS", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route114_LanettesHouse/map.json b/data/maps/Route114_LanettesHouse/map.json index fcb8edfc99..c56bf31465 100644 --- a/data/maps/Route114_LanettesHouse/map.json +++ b/data/maps/Route114_LanettesHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE114", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index a5e2b10f9e..a4143fad30 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE114", "offset": -40, - "map": "MAP_ROUTE114" + "direction": "right" } ], "object_events": [ @@ -331,21 +331,21 @@ "y": 37, "elevation": 0, "dest_map": "MAP_METEOR_FALLS_1F_1R", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 21, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 36, "y": 10, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route116/map.json b/data/maps/Route116/map.json index 13b4bac1cf..adf9a86d59 100644 --- a/data/maps/Route116/map.json +++ b/data/maps/Route116/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_VERDANTURF_TOWN", "offset": 80, - "map": "MAP_VERDANTURF_TOWN" + "direction": "down" }, { - "direction": "left", + "map": "MAP_RUSTBORO_CITY", "offset": 0, - "map": "MAP_RUSTBORO_CITY" + "direction": "left" } ], "object_events": [ @@ -396,35 +396,35 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 38, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116_TUNNELERS_REST_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 65, "y": 10, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 59, "y": 13, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 79, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route116_TunnelersRestHouse/map.json b/data/maps/Route116_TunnelersRestHouse/map.json index b83971532a..ad00aafa79 100644 --- a/data/maps/Route116_TunnelersRestHouse/map.json +++ b/data/maps/Route116_TunnelersRestHouse/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route117/map.json b/data/maps/Route117/map.json index b728667418..80304ddf4b 100644 --- a/data/maps/Route117/map.json +++ b/data/maps/Route117/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_VERDANTURF_TOWN", "offset": 0, - "map": "MAP_VERDANTURF_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "right" } ], "object_events": [ @@ -344,7 +344,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE117_POKEMON_DAY_CARE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route117_PokemonDayCare/map.json b/data/maps/Route117_PokemonDayCare/map.json index 5b51aa9589..128c9f6e72 100644 --- a/data/maps/Route117_PokemonDayCare/map.json +++ b/data/maps/Route117_PokemonDayCare/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE117", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE117", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route118/map.json b/data/maps/Route118/map.json index 67acb1b984..1068e4a1a7 100644 --- a/data/maps/Route118/map.json +++ b/data/maps/Route118/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE119", "offset": 40, - "map": "MAP_ROUTE119" + "direction": "up" }, { - "direction": "left", + "map": "MAP_MAUVILLE_CITY", "offset": 0, - "map": "MAP_MAUVILLE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE123", "offset": 0, - "map": "MAP_ROUTE123" + "direction": "right" } ], "object_events": [ @@ -310,14 +310,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route119/map.json b/data/maps/Route119/map.json index c5715daa20..f8591a5ba2 100644 --- a/data/maps/Route119/map.json +++ b/data/maps/Route119/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE118", "offset": -40, - "map": "MAP_ROUTE118" + "direction": "down" }, { - "direction": "right", + "map": "MAP_FORTREE_CITY", "offset": 0, - "map": "MAP_FORTREE_CITY" + "direction": "right" } ], "object_events": [ @@ -591,14 +591,14 @@ "y": 32, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 33, "y": 109, "elevation": 0, "dest_map": "MAP_ROUTE119_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route119_House/map.json b/data/maps/Route119_House/map.json index 0225f1cd39..dc48897d18 100644 --- a/data/maps/Route119_House/map.json +++ b/data/maps/Route119_House/map.json @@ -112,14 +112,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Route119_WeatherInstitute_1F/map.json b/data/maps/Route119_WeatherInstitute_1F/map.json index 9a9e238823..02f2ffe37f 100644 --- a/data/maps/Route119_WeatherInstitute_1F/map.json +++ b/data/maps/Route119_WeatherInstitute_1F/map.json @@ -86,21 +86,21 @@ "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 0, "dest_map": "MAP_ROUTE119", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route119_WeatherInstitute_2F/map.json b/data/maps/Route119_WeatherInstitute_2F/map.json index e2e5ebb8a9..935ea48dd9 100644 --- a/data/maps/Route119_WeatherInstitute_2F/map.json +++ b/data/maps/Route119_WeatherInstitute_2F/map.json @@ -125,7 +125,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_ROUTE119_WEATHER_INSTITUTE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/Route120/map.json b/data/maps/Route120/map.json index 6b67310d3a..6bb2c84c1a 100644 --- a/data/maps/Route120/map.json +++ b/data/maps/Route120/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_FORTREE_CITY", "offset": 0, - "map": "MAP_FORTREE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE121", "offset": 80, - "map": "MAP_ROUTE121" + "direction": "right" } ], "object_events": [ @@ -604,14 +604,14 @@ "y": 55, "elevation": 0, "dest_map": "MAP_ANCIENT_TOMB", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 23, "elevation": 1, "dest_map": "MAP_SCORCHED_SLAB", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route121/map.json b/data/maps/Route121/map.json index aa8f070859..4a73f3fdd9 100644 --- a/data/maps/Route121/map.json +++ b/data/maps/Route121/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE122", "offset": 20, - "map": "MAP_ROUTE122" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE120", "offset": -80, - "map": "MAP_ROUTE120" + "direction": "left" }, { - "direction": "right", + "map": "MAP_LILYCOVE_CITY", "offset": -10, - "map": "MAP_LILYCOVE_CITY" + "direction": "right" } ], "object_events": [ @@ -414,7 +414,7 @@ "y": 5, "elevation": 0, "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ diff --git a/data/maps/Route121_SafariZoneEntrance/map.json b/data/maps/Route121_SafariZoneEntrance/map.json index 231d3b4a7a..3ab11461b8 100644 --- a/data/maps/Route121_SafariZoneEntrance/map.json +++ b/data/maps/Route121_SafariZoneEntrance/map.json @@ -60,28 +60,28 @@ "y": 5, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 3, "y": 5, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTH", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE121", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 13, "elevation": 0, "dest_map": "MAP_ROUTE121", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route122/map.json b/data/maps/Route122/map.json index 8c92133471..fe21fe7739 100644 --- a/data/maps/Route122/map.json +++ b/data/maps/Route122/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE121", "offset": -20, - "map": "MAP_ROUTE121" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE123", "offset": -100, - "map": "MAP_ROUTE123" + "direction": "down" } ], "object_events": [], @@ -31,7 +31,7 @@ "y": 29, "elevation": 0, "dest_map": "MAP_MT_PYRE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route123/map.json b/data/maps/Route123/map.json index 695b50acd4..11798b95d4 100644 --- a/data/maps/Route123/map.json +++ b/data/maps/Route123/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE122", "offset": 100, - "map": "MAP_ROUTE122" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE118", "offset": 0, - "map": "MAP_ROUTE118" + "direction": "left" } ], "object_events": [ @@ -591,7 +591,7 @@ "y": 6, "elevation": 0, "dest_map": "MAP_ROUTE123_BERRY_MASTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/Route123_BerryMastersHouse/map.json b/data/maps/Route123_BerryMastersHouse/map.json index 488ee97b50..80603aef5c 100644 --- a/data/maps/Route123_BerryMastersHouse/map.json +++ b/data/maps/Route123_BerryMastersHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE123", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_ROUTE123", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route124/map.json b/data/maps/Route124/map.json index 370a5f4e4a..21e2ecd062 100644 --- a/data/maps/Route124/map.json +++ b/data/maps/Route124/map.json @@ -14,29 +14,29 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "down" }, { - "direction": "left", + "map": "MAP_LILYCOVE_CITY", "offset": 10, - "map": "MAP_LILYCOVE_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "right" }, { - "direction": "right", + "map": "MAP_MOSSDEEP_CITY", "offset": 40, - "map": "MAP_MOSSDEEP_CITY" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE124", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE124" + "direction": "dive" } ], "object_events": [ @@ -203,7 +203,7 @@ "y": 48, "elevation": 3, "dest_map": "MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.json b/data/maps/Route124_DivingTreasureHuntersHouse/map.json index a9c16cd22e..148014b993 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/map.json +++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.json @@ -34,14 +34,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE124", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_ROUTE124", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route125/map.json b/data/maps/Route125/map.json index 719e6b699f..cc8bdf09ca 100644 --- a/data/maps/Route125/map.json +++ b/data/maps/Route125/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_MOSSDEEP_CITY", "offset": 0, - "map": "MAP_MOSSDEEP_CITY" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE125", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE125" + "direction": "dive" } ], "object_events": [ @@ -167,7 +167,7 @@ "y": 19, "elevation": 0, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route126/map.json b/data/maps/Route126/map.json index bf7d7027c3..0997e46b1e 100644 --- a/data/maps/Route126/map.json +++ b/data/maps/Route126/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route127/map.json b/data/maps/Route127/map.json index 6ef7022f47..30652264e3 100644 --- a/data/maps/Route127/map.json +++ b/data/maps/Route127/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_MOSSDEEP_CITY", "offset": 0, - "map": "MAP_MOSSDEEP_CITY" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "down" }, { - "direction": "left", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route128/map.json b/data/maps/Route128/map.json index 0bed932d56..464aa83fcc 100644 --- a/data/maps/Route128/map.json +++ b/data/maps/Route128/map.json @@ -14,24 +14,24 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "down" }, { - "direction": "right", + "map": "MAP_EVER_GRANDE_CITY", "offset": -40, - "map": "MAP_EVER_GRANDE_CITY" + "direction": "right" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE128", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE128" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route129/map.json b/data/maps/Route129/map.json index d5383eb501..427b70bd1c 100644 --- a/data/maps/Route129/map.json +++ b/data/maps/Route129/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "up" }, { - "direction": "left", + "map": "MAP_ROUTE130", "offset": 0, - "map": "MAP_ROUTE130" + "direction": "left" }, { - "direction": "dive", + "map": "MAP_UNDERWATER_ROUTE129", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE129" + "direction": "dive" } ], "object_events": [ diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json index c612eccb54..7b37a10edd 100644 --- a/data/maps/Route130/map.json +++ b/data/maps/Route130/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE131", "offset": 0, - "map": "MAP_ROUTE131" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route131/map.json b/data/maps/Route131/map.json index 3599ae556b..18cdecc6ee 100644 --- a/data/maps/Route131/map.json +++ b/data/maps/Route131/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_PACIFIDLOG_TOWN", "offset": 0, - "map": "MAP_PACIFIDLOG_TOWN" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE130", "offset": 0, - "map": "MAP_ROUTE130" + "direction": "right" } ], "object_events": [ @@ -136,7 +136,7 @@ "y": 6, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Route132/map.json b/data/maps/Route132/map.json index 1d3d9efd0a..698dd050f8 100644 --- a/data/maps/Route132/map.json +++ b/data/maps/Route132/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE133", "offset": 0, - "map": "MAP_ROUTE133" + "direction": "left" }, { - "direction": "right", + "map": "MAP_PACIFIDLOG_TOWN", "offset": 0, - "map": "MAP_PACIFIDLOG_TOWN" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route133/map.json b/data/maps/Route133/map.json index 80e64638b3..106546ef58 100644 --- a/data/maps/Route133/map.json +++ b/data/maps/Route133/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_ROUTE134", "offset": 0, - "map": "MAP_ROUTE134" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE132", "offset": 0, - "map": "MAP_ROUTE132" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/Route134/map.json b/data/maps/Route134/map.json index dd642a8e15..f516f16de9 100644 --- a/data/maps/Route134/map.json +++ b/data/maps/Route134/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SLATEPORT_CITY", "offset": 0, - "map": "MAP_SLATEPORT_CITY" + "direction": "left" }, { - "direction": "right", + "map": "MAP_ROUTE133", "offset": 0, - "map": "MAP_ROUTE133" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/RustboroCity/map.json b/data/maps/RustboroCity/map.json index 445bc51899..3d77404ee7 100644 --- a/data/maps/RustboroCity/map.json +++ b/data/maps/RustboroCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE115", "offset": 0, - "map": "MAP_ROUTE115" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE104", "offset": 0, - "map": "MAP_ROUTE104" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE116", "offset": 0, - "map": "MAP_ROUTE116" + "direction": "right" } ], "object_events": [ @@ -245,84 +245,84 @@ "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_GYM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 30, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 45, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 38, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 27, "y": 34, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_SCHOOL", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 15, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 15, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 33, "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 38, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_CUTTERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 30, "y": 28, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 51, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 46, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/RustboroCity_CuttersHouse/map.json b/data/maps/RustboroCity_CuttersHouse/map.json index 081799cd17..16394a68b8 100644 --- a/data/maps/RustboroCity_CuttersHouse/map.json +++ b/data/maps/RustboroCity_CuttersHouse/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.json b/data/maps/RustboroCity_DevonCorp_1F/map.json index 714f15506c..64a8b917a1 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/map.json +++ b/data/maps/RustboroCity_DevonCorp_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 14, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.json b/data/maps/RustboroCity_DevonCorp_2F/map.json index 95a931e94f..3892ba40ae 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/map.json +++ b/data/maps/RustboroCity_DevonCorp_2F/map.json @@ -99,14 +99,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.json b/data/maps/RustboroCity_DevonCorp_3F/map.json index a31a49dd30..4ddb727185 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/map.json +++ b/data/maps/RustboroCity_DevonCorp_3F/map.json @@ -60,7 +60,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_DEVON_CORP_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat1_1F/map.json b/data/maps/RustboroCity_Flat1_1F/map.json index d4ddfb2f6c..1ed8aafd18 100644 --- a/data/maps/RustboroCity_Flat1_1F/map.json +++ b/data/maps/RustboroCity_Flat1_1F/map.json @@ -47,21 +47,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat1_2F/map.json b/data/maps/RustboroCity_Flat1_2F/map.json index 3756411d72..bb87670627 100644 --- a/data/maps/RustboroCity_Flat1_2F/map.json +++ b/data/maps/RustboroCity_Flat1_2F/map.json @@ -125,7 +125,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT1_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_1F/map.json b/data/maps/RustboroCity_Flat2_1F/map.json index 5379567ff8..21c1d5d7fb 100644 --- a/data/maps/RustboroCity_Flat2_1F/map.json +++ b/data/maps/RustboroCity_Flat2_1F/map.json @@ -47,21 +47,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 3, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 3, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_2F/map.json b/data/maps/RustboroCity_Flat2_2F/map.json index 1ba0bbbba2..8494c5232b 100644 --- a/data/maps/RustboroCity_Flat2_2F/map.json +++ b/data/maps/RustboroCity_Flat2_2F/map.json @@ -47,14 +47,14 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Flat2_3F/map.json b/data/maps/RustboroCity_Flat2_3F/map.json index da911f0045..d7f47d6a05 100644 --- a/data/maps/RustboroCity_Flat2_3F/map.json +++ b/data/maps/RustboroCity_Flat2_3F/map.json @@ -47,7 +47,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY_FLAT2_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Gym/map.json b/data/maps/RustboroCity_Gym/map.json index 36ae306abe..dc7a34be25 100644 --- a/data/maps/RustboroCity_Gym/map.json +++ b/data/maps/RustboroCity_Gym/map.json @@ -86,14 +86,14 @@ "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 19, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House1/map.json b/data/maps/RustboroCity_House1/map.json index a57b1a693c..ad8e9d7ffc 100644 --- a/data/maps/RustboroCity_House1/map.json +++ b/data/maps/RustboroCity_House1/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 6, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House2/map.json b/data/maps/RustboroCity_House2/map.json index fdaed84fc0..398c3ca2a7 100644 --- a/data/maps/RustboroCity_House2/map.json +++ b/data/maps/RustboroCity_House2/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_House3/map.json b/data/maps/RustboroCity_House3/map.json index 491550a2c0..94a9f1ba9f 100644 --- a/data/maps/RustboroCity_House3/map.json +++ b/data/maps/RustboroCity_House3/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 6, "y": 8, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_Mart/map.json b/data/maps/RustboroCity_Mart/map.json index 1a5b4549f0..92a23b6bf0 100644 --- a/data/maps/RustboroCity_Mart/map.json +++ b/data/maps/RustboroCity_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonCenter_1F/map.json b/data/maps/RustboroCity_PokemonCenter_1F/map.json index 633626c4cb..d187d49a32 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonCenter_2F/map.json b/data/maps/RustboroCity_PokemonCenter_2F/map.json index 912e4b263e..5c9c5d42e3 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/map.json +++ b/data/maps/RustboroCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/RustboroCity_PokemonSchool/map.json b/data/maps/RustboroCity_PokemonSchool/map.json index e299248a0b..5dfab29f7e 100644 --- a/data/maps/RustboroCity_PokemonSchool/map.json +++ b/data/maps/RustboroCity_PokemonSchool/map.json @@ -112,14 +112,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 6, "y": 10, "elevation": 0, "dest_map": "MAP_RUSTBORO_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/RusturfTunnel/map.json b/data/maps/RusturfTunnel/map.json index d8531c879e..ef07714add 100644 --- a/data/maps/RusturfTunnel/map.json +++ b/data/maps/RusturfTunnel/map.json @@ -151,21 +151,21 @@ "y": 10, "elevation": 3, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 29, "y": 16, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 18, "y": 20, "elevation": 3, "dest_map": "MAP_ROUTE116", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [ @@ -174,7 +174,7 @@ "x": 23, "y": 4, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos1" }, @@ -201,7 +201,7 @@ "x": 25, "y": 4, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos2" }, @@ -210,7 +210,7 @@ "x": 25, "y": 5, "elevation": 3, - "var": "0", + "var": "TRIGGER_RUN_IMMEDIATELY", "var_value": "0", "script": "RusturfTunnel_EventScript_TunnelBlockagePos3" } diff --git a/data/maps/SSTidalCorridor/map.json b/data/maps/SSTidalCorridor/map.json index 7356e1fe00..7a25d4450c 100644 --- a/data/maps/SSTidalCorridor/map.json +++ b/data/maps/SSTidalCorridor/map.json @@ -86,63 +86,63 @@ "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 13, "y": 9, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 7, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 10, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 13, "y": 3, "elevation": 3, "dest_map": "MAP_SS_TIDAL_ROOMS", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 16, "y": 2, "elevation": 3, "dest_map": "MAP_SS_TIDAL_LOWER_DECK", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SSTidalLowerDeck/map.json b/data/maps/SSTidalLowerDeck/map.json index 79331001af..cdabcd01b7 100644 --- a/data/maps/SSTidalLowerDeck/map.json +++ b/data/maps/SSTidalLowerDeck/map.json @@ -47,7 +47,7 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/SSTidalRooms/map.json b/data/maps/SSTidalRooms/map.json index fd65d5ce26..d66505b483 100644 --- a/data/maps/SSTidalRooms/map.json +++ b/data/maps/SSTidalRooms/map.json @@ -125,84 +125,84 @@ "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 22, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 23, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 31, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 32, "y": 16, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 4, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 13, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 22, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 31, "y": 1, "elevation": 0, "dest_map": "MAP_SS_TIDAL_CORRIDOR", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 2419587d81..f1e9048b1e 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_NORTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHWEST" + "direction": "left" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "down" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_NORTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHEAST" + "direction": "right" } ], "object_events": [ diff --git a/data/maps/SafariZone_Northeast/map.json b/data/maps/SafariZone_Northeast/map.json index 9104031072..876ffb8f6d 100644 --- a/data/maps/SafariZone_Northeast/map.json +++ b/data/maps/SafariZone_Northeast/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "left" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHEAST" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 20fffd0498..93f3d2a79c 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "right", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "right" }, { - "direction": "down", + "map": "MAP_SAFARI_ZONE_SOUTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHWEST" + "direction": "down" } ], "object_events": [ diff --git a/data/maps/SafariZone_RestHouse/map.json b/data/maps/SafariZone_RestHouse/map.json index e03b024ae9..09493d9b54 100644 --- a/data/maps/SafariZone_RestHouse/map.json +++ b/data/maps/SafariZone_RestHouse/map.json @@ -60,14 +60,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_SAFARI_ZONE_SOUTHWEST", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SafariZone_South/map.json b/data/maps/SafariZone_South/map.json index 562b85b9e4..dee1e40629 100644 --- a/data/maps/SafariZone_South/map.json +++ b/data/maps/SafariZone_South/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTH" + "direction": "up" }, { - "direction": "left", + "map": "MAP_SAFARI_ZONE_SOUTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHWEST" + "direction": "left" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_SOUTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTHEAST" + "direction": "right" } ], "object_events": [ @@ -115,7 +115,7 @@ "y": 33, "elevation": 0, "dest_map": "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SafariZone_Southeast/map.json b/data/maps/SafariZone_Southeast/map.json index 723e874cc9..87fdc8318f 100644 --- a/data/maps/SafariZone_Southeast/map.json +++ b/data/maps/SafariZone_Southeast/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "left", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "left" }, { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTHEAST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHEAST" + "direction": "up" } ], "object_events": [ diff --git a/data/maps/SafariZone_Southwest/map.json b/data/maps/SafariZone_Southwest/map.json index 42faf1f50a..39edcb2c61 100644 --- a/data/maps/SafariZone_Southwest/map.json +++ b/data/maps/SafariZone_Southwest/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_SAFARI_ZONE_NORTHWEST", "offset": 0, - "map": "MAP_SAFARI_ZONE_NORTHWEST" + "direction": "up" }, { - "direction": "right", + "map": "MAP_SAFARI_ZONE_SOUTH", "offset": 0, - "map": "MAP_SAFARI_ZONE_SOUTH" + "direction": "right" } ], "object_events": [ @@ -58,7 +58,7 @@ "y": 7, "elevation": 3, "dest_map": "MAP_SAFARI_ZONE_REST_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json index cb97894903..ca367b9215 100644 --- a/data/maps/ScorchedSlab/map.json +++ b/data/maps/ScorchedSlab/map.json @@ -34,7 +34,7 @@ "y": 16, "elevation": 1, "dest_map": "MAP_ROUTE120", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Entrance/map.json b/data/maps/SeafloorCavern_Entrance/map.json index 1f7095def6..5e88d71432 100644 --- a/data/maps/SeafloorCavern_Entrance/map.json +++ b/data/maps/SeafloorCavern_Entrance/map.json @@ -34,14 +34,14 @@ "y": 18, "elevation": 3, "dest_map": "MAP_UNDERWATER_ROUTE128", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room1/map.json b/data/maps/SeafloorCavern_Room1/map.json index 2caa79414b..bb580a8ab5 100644 --- a/data/maps/SeafloorCavern_Room1/map.json +++ b/data/maps/SeafloorCavern_Room1/map.json @@ -86,21 +86,21 @@ "y": 18, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 17, "y": 13, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 2, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room2/map.json b/data/maps/SeafloorCavern_Room2/map.json index bfdd30499b..903c80ede4 100644 --- a/data/maps/SeafloorCavern_Room2/map.json +++ b/data/maps/SeafloorCavern_Room2/map.json @@ -125,28 +125,28 @@ "y": 7, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 10, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room3/map.json b/data/maps/SeafloorCavern_Room3/map.json index 478e108be2..aedea66fc7 100644 --- a/data/maps/SeafloorCavern_Room3/map.json +++ b/data/maps/SeafloorCavern_Room3/map.json @@ -138,21 +138,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 13, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM7", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 15, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM6", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room4/map.json b/data/maps/SeafloorCavern_Room4/map.json index 9ea3528a31..ef3733bb7a 100644 --- a/data/maps/SeafloorCavern_Room4/map.json +++ b/data/maps/SeafloorCavern_Room4/map.json @@ -47,28 +47,28 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 9, "y": 10, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM5", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 15, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room5/map.json b/data/maps/SeafloorCavern_Room5/map.json index 415e2a718f..aeb9f99d43 100644 --- a/data/maps/SeafloorCavern_Room5/map.json +++ b/data/maps/SeafloorCavern_Room5/map.json @@ -99,21 +99,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM1", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 15, "y": 12, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 17, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM4", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room6/map.json b/data/maps/SeafloorCavern_Room6/map.json index 598f4a0427..8e1df23a81 100644 --- a/data/maps/SeafloorCavern_Room6/map.json +++ b/data/maps/SeafloorCavern_Room6/map.json @@ -20,21 +20,21 @@ "y": 21, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 4, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 8, "elevation": 1, "dest_map": "MAP_SEAFLOOR_CAVERN_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room7/map.json b/data/maps/SeafloorCavern_Room7/map.json index 243a1f9d1a..1911fefded 100644 --- a/data/maps/SeafloorCavern_Room7/map.json +++ b/data/maps/SeafloorCavern_Room7/map.json @@ -20,14 +20,14 @@ "y": 23, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM2", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room8/map.json b/data/maps/SeafloorCavern_Room8/map.json index 7c5d5c8200..20c796f9d9 100644 --- a/data/maps/SeafloorCavern_Room8/map.json +++ b/data/maps/SeafloorCavern_Room8/map.json @@ -177,14 +177,14 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM9", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 12, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM3", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index 7942b3d1d4..f191941a2b 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -112,7 +112,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_SEAFLOOR_CAVERN_ROOM8", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SealedChamber_InnerRoom/map.json b/data/maps/SealedChamber_InnerRoom/map.json index 1f8e741d8f..7f35fadd6f 100644 --- a/data/maps/SealedChamber_InnerRoom/map.json +++ b/data/maps/SealedChamber_InnerRoom/map.json @@ -20,7 +20,7 @@ "y": 19, "elevation": 3, "dest_map": "MAP_SEALED_CHAMBER_OUTER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SealedChamber_OuterRoom/map.json b/data/maps/SealedChamber_OuterRoom/map.json index e16350d7e7..52e81b8844 100644 --- a/data/maps/SealedChamber_OuterRoom/map.json +++ b/data/maps/SealedChamber_OuterRoom/map.json @@ -20,7 +20,7 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SEALED_CHAMBER_INNER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave1/map.json b/data/maps/SecretBase_BlueCave1/map.json index 066cfb3857..0edcb99dfe 100644 --- a/data/maps/SecretBase_BlueCave1/map.json +++ b/data/maps/SecretBase_BlueCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave2/map.json b/data/maps/SecretBase_BlueCave2/map.json index b74fa5afb6..c93bddd124 100644 --- a/data/maps/SecretBase_BlueCave2/map.json +++ b/data/maps/SecretBase_BlueCave2/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 5, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave3/map.json b/data/maps/SecretBase_BlueCave3/map.json index dd67e2d546..4d7887ae7c 100644 --- a/data/maps/SecretBase_BlueCave3/map.json +++ b/data/maps/SecretBase_BlueCave3/map.json @@ -216,8 +216,8 @@ "x": 4, "y": 15, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BlueCave4/map.json b/data/maps/SecretBase_BlueCave4/map.json index 3c97371f53..b8938396a1 100644 --- a/data/maps/SecretBase_BlueCave4/map.json +++ b/data/maps/SecretBase_BlueCave4/map.json @@ -216,8 +216,8 @@ "x": 4, "y": 15, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave1/map.json b/data/maps/SecretBase_BrownCave1/map.json index 062eac9f4b..e0d8b26398 100644 --- a/data/maps/SecretBase_BrownCave1/map.json +++ b/data/maps/SecretBase_BrownCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave2/map.json b/data/maps/SecretBase_BrownCave2/map.json index eb04f2a8de..9ab47030bd 100644 --- a/data/maps/SecretBase_BrownCave2/map.json +++ b/data/maps/SecretBase_BrownCave2/map.json @@ -216,8 +216,8 @@ "x": 1, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave3/map.json b/data/maps/SecretBase_BrownCave3/map.json index 1d00ee139a..4f5ce0401b 100644 --- a/data/maps/SecretBase_BrownCave3/map.json +++ b/data/maps/SecretBase_BrownCave3/map.json @@ -216,8 +216,8 @@ "x": 11, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_BrownCave4/map.json b/data/maps/SecretBase_BrownCave4/map.json index f1fb82eb4f..4fdb8e0227 100644 --- a/data/maps/SecretBase_BrownCave4/map.json +++ b/data/maps/SecretBase_BrownCave4/map.json @@ -216,8 +216,8 @@ "x": 2, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave1/map.json b/data/maps/SecretBase_RedCave1/map.json index e83458a87a..d3e1fd9156 100644 --- a/data/maps/SecretBase_RedCave1/map.json +++ b/data/maps/SecretBase_RedCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave2/map.json b/data/maps/SecretBase_RedCave2/map.json index 9a0ac210f4..591fe3b535 100644 --- a/data/maps/SecretBase_RedCave2/map.json +++ b/data/maps/SecretBase_RedCave2/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 14, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave3/map.json b/data/maps/SecretBase_RedCave3/map.json index ce405a40ab..88b86c9293 100644 --- a/data/maps/SecretBase_RedCave3/map.json +++ b/data/maps/SecretBase_RedCave3/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 6, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_RedCave4/map.json b/data/maps/SecretBase_RedCave4/map.json index 2b1ad8c2c9..8a22aa7b68 100644 --- a/data/maps/SecretBase_RedCave4/map.json +++ b/data/maps/SecretBase_RedCave4/map.json @@ -216,8 +216,8 @@ "x": 2, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub1/map.json b/data/maps/SecretBase_Shrub1/map.json index a028cbe62a..05dd99f04b 100644 --- a/data/maps/SecretBase_Shrub1/map.json +++ b/data/maps/SecretBase_Shrub1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub2/map.json b/data/maps/SecretBase_Shrub2/map.json index 60977e70d4..f2c2062837 100644 --- a/data/maps/SecretBase_Shrub2/map.json +++ b/data/maps/SecretBase_Shrub2/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 5, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub3/map.json b/data/maps/SecretBase_Shrub3/map.json index a513b0bd2b..882e8185f7 100644 --- a/data/maps/SecretBase_Shrub3/map.json +++ b/data/maps/SecretBase_Shrub3/map.json @@ -216,8 +216,8 @@ "x": 6, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Shrub4/map.json b/data/maps/SecretBase_Shrub4/map.json index 6aded553b8..1c98b91d70 100644 --- a/data/maps/SecretBase_Shrub4/map.json +++ b/data/maps/SecretBase_Shrub4/map.json @@ -216,8 +216,8 @@ "x": 11, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree1/map.json b/data/maps/SecretBase_Tree1/map.json index cd6a0b33af..9c4b68455e 100644 --- a/data/maps/SecretBase_Tree1/map.json +++ b/data/maps/SecretBase_Tree1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree2/map.json b/data/maps/SecretBase_Tree2/map.json index 3aad151ffe..0ab31e2805 100644 --- a/data/maps/SecretBase_Tree2/map.json +++ b/data/maps/SecretBase_Tree2/map.json @@ -216,8 +216,8 @@ "x": 3, "y": 14, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree3/map.json b/data/maps/SecretBase_Tree3/map.json index 498852c024..3243b564a5 100644 --- a/data/maps/SecretBase_Tree3/map.json +++ b/data/maps/SecretBase_Tree3/map.json @@ -216,8 +216,8 @@ "x": 8, "y": 6, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_Tree4/map.json b/data/maps/SecretBase_Tree4/map.json index b24d1d8a99..232e64224d 100644 --- a/data/maps/SecretBase_Tree4/map.json +++ b/data/maps/SecretBase_Tree4/map.json @@ -216,8 +216,8 @@ "x": 7, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave1/map.json b/data/maps/SecretBase_YellowCave1/map.json index 54916fda32..a370c4a93e 100644 --- a/data/maps/SecretBase_YellowCave1/map.json +++ b/data/maps/SecretBase_YellowCave1/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave2/map.json b/data/maps/SecretBase_YellowCave2/map.json index f9d9a572be..06f68b1f25 100644 --- a/data/maps/SecretBase_YellowCave2/map.json +++ b/data/maps/SecretBase_YellowCave2/map.json @@ -216,8 +216,8 @@ "x": 12, "y": 7, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave3/map.json b/data/maps/SecretBase_YellowCave3/map.json index fdcc94c18b..7d5c488c8d 100644 --- a/data/maps/SecretBase_YellowCave3/map.json +++ b/data/maps/SecretBase_YellowCave3/map.json @@ -216,8 +216,8 @@ "x": 5, "y": 9, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/SecretBase_YellowCave4/map.json b/data/maps/SecretBase_YellowCave4/map.json index 246974eaad..ae73f170f4 100644 --- a/data/maps/SecretBase_YellowCave4/map.json +++ b/data/maps/SecretBase_YellowCave4/map.json @@ -216,8 +216,8 @@ "x": 6, "y": 12, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 126 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_SECRET_BASE" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.json b/data/maps/ShoalCave_LowTideEntranceRoom/map.json index ba71e10856..652038dac0 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/map.json +++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.json @@ -47,28 +47,28 @@ "y": 30, "elevation": 3, "dest_map": "MAP_ROUTE125", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 19, "y": 5, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 27, "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json index 3195d408b3..f87f88227e 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/map.json +++ b/data/maps/ShoalCave_LowTideIceRoom/map.json @@ -47,7 +47,7 @@ "y": 10, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.json b/data/maps/ShoalCave_LowTideInnerRoom/map.json index bf172e8b4e..e7261f2956 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/map.json +++ b/data/maps/ShoalCave_LowTideInnerRoom/map.json @@ -34,56 +34,56 @@ "y": 29, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 38, "y": 15, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 42, "y": 4, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 19, "y": 14, "elevation": 4, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 19, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 30, "y": 25, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 14, "y": 33, "elevation": 5, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 40, "y": 33, "elevation": 5, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.json b/data/maps/ShoalCave_LowTideLowerRoom/map.json index 719841ec0d..06e30f0495 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/map.json +++ b/data/maps/ShoalCave_LowTideLowerRoom/map.json @@ -47,28 +47,28 @@ "y": 2, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 2, "y": 6, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 19, "y": 11, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 28, "y": 11, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.json b/data/maps/ShoalCave_LowTideStairsRoom/map.json index 4207c95843..758781a031 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/map.json +++ b/data/maps/ShoalCave_LowTideStairsRoom/map.json @@ -34,14 +34,14 @@ "y": 12, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 4, "elevation": 3, "dest_map": "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_1F/map.json b/data/maps/SkyPillar_1F/map.json index 6ce499be2f..05e64034db 100644 --- a/data/maps/SkyPillar_1F/map.json +++ b/data/maps/SkyPillar_1F/map.json @@ -20,21 +20,21 @@ "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_2F/map.json b/data/maps/SkyPillar_2F/map.json index 7b534c2f75..a89e5e3cbd 100644 --- a/data/maps/SkyPillar_2F/map.json +++ b/data/maps/SkyPillar_2F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_3F/map.json b/data/maps/SkyPillar_3F/map.json index c05324f109..abf4564562 100644 --- a/data/maps/SkyPillar_3F/map.json +++ b/data/maps/SkyPillar_3F/map.json @@ -20,21 +20,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 11, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_4F/map.json b/data/maps/SkyPillar_4F/map.json index 7b5ad062e3..a8b3f705ba 100644 --- a/data/maps/SkyPillar_4F/map.json +++ b/data/maps/SkyPillar_4F/map.json @@ -20,21 +20,21 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 7, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_3F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_5F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_5F/map.json b/data/maps/SkyPillar_5F/map.json index 5be104fb0f..1fc8baf77a 100644 --- a/data/maps/SkyPillar_5F/map.json +++ b/data/maps/SkyPillar_5F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_4F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 10, "y": 1, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_TOP", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Entrance/map.json b/data/maps/SkyPillar_Entrance/map.json index c880da6ea9..a224bee2cc 100644 --- a/data/maps/SkyPillar_Entrance/map.json +++ b/data/maps/SkyPillar_Entrance/map.json @@ -20,14 +20,14 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE131", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 4, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_OUTSIDE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Outside/map.json b/data/maps/SkyPillar_Outside/map.json index b0d4e198b4..d72441266e 100644 --- a/data/maps/SkyPillar_Outside/map.json +++ b/data/maps/SkyPillar_Outside/map.json @@ -34,14 +34,14 @@ "y": 13, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 14, "y": 5, "elevation": 0, "dest_map": "MAP_SKY_PILLAR_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SkyPillar_Top/map.json b/data/maps/SkyPillar_Top/map.json index 2fee121065..4c7ea03d15 100644 --- a/data/maps/SkyPillar_Top/map.json +++ b/data/maps/SkyPillar_Top/map.json @@ -47,7 +47,7 @@ "y": 14, "elevation": 3, "dest_map": "MAP_SKY_PILLAR_5F", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/SlateportCity/map.json b/data/maps/SlateportCity/map.json index 6ffed4b454..972b51447e 100644 --- a/data/maps/SlateportCity/map.json +++ b/data/maps/SlateportCity/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE110", "offset": 0, - "map": "MAP_ROUTE110" + "direction": "up" }, { - "direction": "down", + "map": "MAP_ROUTE109", "offset": 0, - "map": "MAP_ROUTE109" + "direction": "down" }, { - "direction": "right", + "map": "MAP_ROUTE134", "offset": 0, - "map": "MAP_ROUTE134" + "direction": "right" } ], "object_events": [ @@ -492,77 +492,77 @@ "y": 19, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 13, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 26, "y": 38, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 12, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 4, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 30, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 5, "y": 19, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 26, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 28, "y": 12, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HARBOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 40, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HARBOR", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 21, "y": 44, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_BattleTentLobby/map.json b/data/maps/SlateportCity_BattleTentLobby/map.json index efd03e1e28..6a599df8f3 100644 --- a/data/maps/SlateportCity_BattleTentLobby/map.json +++ b/data/maps/SlateportCity_BattleTentLobby/map.json @@ -86,14 +86,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_Harbor/map.json b/data/maps/SlateportCity_Harbor/map.json index 17d3c8940f..05fe77c61c 100644 --- a/data/maps/SlateportCity_Harbor/map.json +++ b/data/maps/SlateportCity_Harbor/map.json @@ -125,28 +125,28 @@ "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 12, "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 19, "y": 15, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 20, "y": 15, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_House/map.json b/data/maps/SlateportCity_House/map.json index 5ccc92566e..354c394410 100644 --- a/data/maps/SlateportCity_House/map.json +++ b/data/maps/SlateportCity_House/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_Mart/map.json b/data/maps/SlateportCity_Mart/map.json index 45d3225553..a86614bd14 100644 --- a/data/maps/SlateportCity_Mart/map.json +++ b/data/maps/SlateportCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_NameRatersHouse/map.json b/data/maps/SlateportCity_NameRatersHouse/map.json index c0a94fd69e..5b93717a93 100644 --- a/data/maps/SlateportCity_NameRatersHouse/map.json +++ b/data/maps/SlateportCity_NameRatersHouse/map.json @@ -34,14 +34,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.json b/data/maps/SlateportCity_OceanicMuseum_1F/map.json index 7748f54384..fd3468a52d 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.json @@ -203,21 +203,21 @@ "y": 8, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 10, "y": 8, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 6, "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.json b/data/maps/SlateportCity_OceanicMuseum_2F/map.json index 7b78802e33..bab9c1ea58 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/map.json +++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.json @@ -112,7 +112,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonCenter_1F/map.json b/data/maps/SlateportCity_PokemonCenter_1F/map.json index 91132909a1..418210f0bd 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_1F/map.json @@ -60,21 +60,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonCenter_2F/map.json b/data/maps/SlateportCity_PokemonCenter_2F/map.json index 74b5ee63c3..02e122d0e9 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/map.json +++ b/data/maps/SlateportCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_PokemonFanClub/map.json b/data/maps/SlateportCity_PokemonFanClub/map.json index b1e4b0f8bf..04e9b7add6 100644 --- a/data/maps/SlateportCity_PokemonFanClub/map.json +++ b/data/maps/SlateportCity_PokemonFanClub/map.json @@ -138,14 +138,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 7, "y": 10, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.json b/data/maps/SlateportCity_SternsShipyard_1F/map.json index 66cdd6a1df..4414fcfb12 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_1F/map.json @@ -73,21 +73,21 @@ "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 14, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 3, "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.json b/data/maps/SlateportCity_SternsShipyard_2F/map.json index 1b89b2bfa4..6dad88b9ea 100644 --- a/data/maps/SlateportCity_SternsShipyard_2F/map.json +++ b/data/maps/SlateportCity_SternsShipyard_2F/map.json @@ -60,7 +60,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity/map.json b/data/maps/SootopolisCity/map.json index f5c265139b..c6a6757d23 100644 --- a/data/maps/SootopolisCity/map.json +++ b/data/maps/SootopolisCity/map.json @@ -255,91 +255,91 @@ "y": 31, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 29, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 32, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 31, "y": 16, "elevation": 3, "dest_map": "MAP_CAVE_OF_ORIGIN_ENTRANCE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE1", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE2", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 17, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE3", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 44, "y": 17, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE4", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 26, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE5", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 53, "y": 28, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE6", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 35, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_HOUSE7", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 48, "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 51, "y": 36, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Gym_1F/map.json b/data/maps/SootopolisCity_Gym_1F/map.json index 46baea29d2..869bd4fc4a 100644 --- a/data/maps/SootopolisCity_Gym_1F/map.json +++ b/data/maps/SootopolisCity_Gym_1F/map.json @@ -47,21 +47,21 @@ "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 25, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 11, "y": 22, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Gym_B1F/map.json b/data/maps/SootopolisCity_Gym_B1F/map.json index 3badb1c526..2dcd0b6e25 100644 --- a/data/maps/SootopolisCity_Gym_B1F/map.json +++ b/data/maps/SootopolisCity_Gym_B1F/map.json @@ -151,7 +151,7 @@ "y": 22, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_GYM_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House1/map.json b/data/maps/SootopolisCity_House1/map.json index 29162b8675..b7c6af5716 100644 --- a/data/maps/SootopolisCity_House1/map.json +++ b/data/maps/SootopolisCity_House1/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House2/map.json b/data/maps/SootopolisCity_House2/map.json index 3fe0baf484..3ad5c4fec9 100644 --- a/data/maps/SootopolisCity_House2/map.json +++ b/data/maps/SootopolisCity_House2/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House3/map.json b/data/maps/SootopolisCity_House3/map.json index 00d82637e3..984e311537 100644 --- a/data/maps/SootopolisCity_House3/map.json +++ b/data/maps/SootopolisCity_House3/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House4/map.json b/data/maps/SootopolisCity_House4/map.json index e811785d00..66008482fc 100644 --- a/data/maps/SootopolisCity_House4/map.json +++ b/data/maps/SootopolisCity_House4/map.json @@ -60,14 +60,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 7 + "dest_warp_id": "7" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House5/map.json b/data/maps/SootopolisCity_House5/map.json index 6b25c5af69..3a06c9b63c 100644 --- a/data/maps/SootopolisCity_House5/map.json +++ b/data/maps/SootopolisCity_House5/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 8 + "dest_warp_id": "8" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House6/map.json b/data/maps/SootopolisCity_House6/map.json index 365503e8fa..731b01fcac 100644 --- a/data/maps/SootopolisCity_House6/map.json +++ b/data/maps/SootopolisCity_House6/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 9 + "dest_warp_id": "9" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_House7/map.json b/data/maps/SootopolisCity_House7/map.json index 47d98c9145..6285048649 100644 --- a/data/maps/SootopolisCity_House7/map.json +++ b/data/maps/SootopolisCity_House7/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 10 + "dest_warp_id": "10" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json index 143fdf9f23..1b1f61260e 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.json @@ -47,14 +47,14 @@ "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" }, { "x": 4, "y": 6, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 11 + "dest_warp_id": "11" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_Mart/map.json b/data/maps/SootopolisCity_Mart/map.json index 55686a14fc..1f75af5de4 100644 --- a/data/maps/SootopolisCity_Mart/map.json +++ b/data/maps/SootopolisCity_Mart/map.json @@ -60,14 +60,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json index a7fa187602..0b2ad974c0 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.json @@ -34,21 +34,21 @@ "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 12 + "dest_warp_id": "12" }, { "x": 3, "y": 1, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json index 82885ebcc8..184af4d4da 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.json @@ -34,7 +34,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/map.json b/data/maps/SootopolisCity_PokemonCenter_1F/map.json index 8dac70dea1..0fa27599da 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/map.json b/data/maps/SootopolisCity_PokemonCenter_2F/map.json index fd85b236b5..fb17ee9fb9 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/map.json +++ b/data/maps/SootopolisCity_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/SouthernIsland_Exterior/map.json b/data/maps/SouthernIsland_Exterior/map.json index 8fe4bcf292..53a988398c 100644 --- a/data/maps/SouthernIsland_Exterior/map.json +++ b/data/maps/SouthernIsland_Exterior/map.json @@ -47,14 +47,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 15, "y": 5, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_INTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc index b393413fe3..6e7009a1f2 100644 --- a/data/maps/SouthernIsland_Exterior/scripts.inc +++ b/data/maps/SouthernIsland_Exterior/scripts.inc @@ -33,20 +33,20 @@ SouthernIsland_Exterior_EventScript_AsYouLike:: end Ferry_EventScript_DepartIslandSouth:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_EventScript_DepartIslandBoardSouth + applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardSouth waitmovement 0 return Ferry_EventScript_DepartIslandWest:: - applymovement OBJ_EVENT_ID_PLAYER, Ferry_EventScript_DepartIslandBoardWest + applymovement OBJ_EVENT_ID_PLAYER, Ferry_Movement_DepartIslandBoardWest waitmovement 0 return -Ferry_EventScript_DepartIslandBoardSouth: +Ferry_Movement_DepartIslandBoardSouth: walk_down step_end -Ferry_EventScript_DepartIslandBoardWest: +Ferry_Movement_DepartIslandBoardWest: walk_left walk_in_place_faster_down step_end diff --git a/data/maps/SouthernIsland_Interior/map.json b/data/maps/SouthernIsland_Interior/map.json index 179ab1997d..76212cbbd1 100644 --- a/data/maps/SouthernIsland_Interior/map.json +++ b/data/maps/SouthernIsland_Interior/map.json @@ -47,14 +47,14 @@ "y": 18, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 14, "y": 18, "elevation": 3, "dest_map": "MAP_SOUTHERN_ISLAND_EXTERIOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/TerraCave_End/map.json b/data/maps/TerraCave_End/map.json index e5fef758b7..264b35af23 100644 --- a/data/maps/TerraCave_End/map.json +++ b/data/maps/TerraCave_End/map.json @@ -34,7 +34,7 @@ "y": 4, "elevation": 3, "dest_map": "MAP_TERRA_CAVE_ENTRANCE", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [ diff --git a/data/maps/TerraCave_Entrance/map.json b/data/maps/TerraCave_Entrance/map.json index 1ddc768e27..c80d7a1f60 100644 --- a/data/maps/TerraCave_Entrance/map.json +++ b/data/maps/TerraCave_Entrance/map.json @@ -19,15 +19,15 @@ "x": 8, "y": 18, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 14, "y": 1, "elevation": 3, "dest_map": "MAP_TERRA_CAVE_END", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TradeCenter/map.json b/data/maps/TradeCenter/map.json index 0d3dd5477b..6d128ee082 100644 --- a/data/maps/TradeCenter/map.json +++ b/data/maps/TradeCenter/map.json @@ -33,15 +33,15 @@ "x": 5, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 6, "y": 8, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [ diff --git a/data/maps/TrainerHill_1F/map.json b/data/maps/TrainerHill_1F/map.json index d14bbb2938..297b686e2c 100644 --- a/data/maps/TrainerHill_1F/map.json +++ b/data/maps/TrainerHill_1F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ENTRANCE", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_2F/map.json b/data/maps/TrainerHill_2F/map.json index a4c9bca7dc..7df034d831 100644 --- a/data/maps/TrainerHill_2F/map.json +++ b/data/maps/TrainerHill_2F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_3F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_3F/map.json b/data/maps/TrainerHill_3F/map.json index 069ca83ac5..d20e019d3e 100644 --- a/data/maps/TrainerHill_3F/map.json +++ b/data/maps/TrainerHill_3F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_4F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_4F/map.json b/data/maps/TrainerHill_4F/map.json index f195d9e93a..2405deea85 100644 --- a/data/maps/TrainerHill_4F/map.json +++ b/data/maps/TrainerHill_4F/map.json @@ -20,14 +20,14 @@ "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_3F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 12, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_Elevator/map.json b/data/maps/TrainerHill_Elevator/map.json index 3d56ff4761..a611cbf641 100644 --- a/data/maps/TrainerHill_Elevator/map.json +++ b/data/maps/TrainerHill_Elevator/map.json @@ -34,14 +34,14 @@ "y": 6, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 2, "y": 6, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_ROOF", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/TrainerHill_Entrance/map.json b/data/maps/TrainerHill_Entrance/map.json index b2c20d050d..0f2b4ec558 100644 --- a/data/maps/TrainerHill_Entrance/map.json +++ b/data/maps/TrainerHill_Entrance/map.json @@ -86,21 +86,21 @@ "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 10, "y": 16, "elevation": 3, "dest_map": "MAP_ROUTE111", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [ diff --git a/data/maps/TrainerHill_Roof/map.json b/data/maps/TrainerHill_Roof/map.json index 16020a762a..7975c08c2e 100644 --- a/data/maps/TrainerHill_Roof/map.json +++ b/data/maps/TrainerHill_Roof/map.json @@ -34,14 +34,14 @@ "y": 5, "elevation": 3, "dest_map": "MAP_TRAINER_HILL_4F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 15, "y": 5, "elevation": 0, "dest_map": "MAP_TRAINER_HILL_ELEVATOR", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/Underwater_MarineCave/map.json b/data/maps/Underwater_MarineCave/map.json index c053fb1210..ee9fcc0fbf 100644 --- a/data/maps/Underwater_MarineCave/map.json +++ b/data/maps/Underwater_MarineCave/map.json @@ -19,8 +19,8 @@ "x": 9, "y": 8, "elevation": 0, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route105/map.json b/data/maps/Underwater_Route105/map.json index 890ccb2a8f..069ccab4dd 100644 --- a/data/maps/Underwater_Route105/map.json +++ b/data/maps/Underwater_Route105/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE105", "offset": 0, - "map": "MAP_ROUTE105" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 4, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 66, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route124/map.json b/data/maps/Underwater_Route124/map.json index 46bc141a85..1f1b2a9aa5 100644 --- a/data/maps/Underwater_Route124/map.json +++ b/data/maps/Underwater_Route124/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "down", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "down" }, { - "direction": "emerge", + "map": "MAP_ROUTE124", "offset": 0, - "map": "MAP_ROUTE124" + "direction": "emerge" } ], "object_events": [], diff --git a/data/maps/Underwater_Route125/map.json b/data/maps/Underwater_Route125/map.json index c32bb57e86..490d591a3b 100644 --- a/data/maps/Underwater_Route125/map.json +++ b/data/maps/Underwater_Route125/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE125", "offset": 0, - "map": "MAP_ROUTE125" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 10, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 45, "y": 30, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route126/map.json b/data/maps/Underwater_Route126/map.json index 993bb79070..d70dc73956 100644 --- a/data/maps/Underwater_Route126/map.json +++ b/data/maps/Underwater_Route126/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_UNDERWATER_ROUTE124", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE124" + "direction": "up" }, { - "direction": "right", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "right" }, { - "direction": "emerge", + "map": "MAP_ROUTE126", "offset": 0, - "map": "MAP_ROUTE126" + "direction": "emerge" } ], "object_events": [], @@ -36,7 +36,7 @@ "y": 65, "elevation": 0, "dest_map": "MAP_UNDERWATER_SOOTOPOLIS_CITY", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route127/map.json b/data/maps/Underwater_Route127/map.json index b96f79c5db..4260459930 100644 --- a/data/maps/Underwater_Route127/map.json +++ b/data/maps/Underwater_Route127/map.json @@ -14,19 +14,19 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE127", "offset": 0, - "map": "MAP_ROUTE127" + "direction": "emerge" }, { - "direction": "left", + "map": "MAP_UNDERWATER_ROUTE126", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE126" + "direction": "left" }, { - "direction": "down", + "map": "MAP_UNDERWATER_ROUTE128", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE128" + "direction": "down" } ], "object_events": [], @@ -36,14 +36,14 @@ "y": 5, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 67, "y": 38, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route128/map.json b/data/maps/Underwater_Route128/map.json index f80cf41a68..75d92f6816 100644 --- a/data/maps/Underwater_Route128/map.json +++ b/data/maps/Underwater_Route128/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_UNDERWATER_ROUTE127", "offset": 0, - "map": "MAP_UNDERWATER_ROUTE127" + "direction": "up" }, { - "direction": "emerge", + "map": "MAP_ROUTE128", "offset": 0, - "map": "MAP_ROUTE128" + "direction": "emerge" } ], "object_events": [], @@ -31,7 +31,7 @@ "y": 26, "elevation": 3, "dest_map": "MAP_UNDERWATER_SEAFLOOR_CAVERN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route129/map.json b/data/maps/Underwater_Route129/map.json index 45775bd6b4..674e98afff 100644 --- a/data/maps/Underwater_Route129/map.json +++ b/data/maps/Underwater_Route129/map.json @@ -14,9 +14,9 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "emerge", + "map": "MAP_ROUTE129", "offset": 0, - "map": "MAP_ROUTE129" + "direction": "emerge" } ], "object_events": [], @@ -26,14 +26,14 @@ "y": 3, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 32, "y": 21, "elevation": 0, "dest_map": "MAP_UNDERWATER_MARINE_CAVE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_Route134/map.json b/data/maps/Underwater_Route134/map.json index 74526bc4dc..16599a49ea 100644 --- a/data/maps/Underwater_Route134/map.json +++ b/data/maps/Underwater_Route134/map.json @@ -20,7 +20,7 @@ "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_SEALED_CHAMBER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SeafloorCavern/map.json b/data/maps/Underwater_SeafloorCavern/map.json index d25a3600dd..bbc13e31da 100644 --- a/data/maps/Underwater_SeafloorCavern/map.json +++ b/data/maps/Underwater_SeafloorCavern/map.json @@ -73,7 +73,7 @@ "y": 7, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE128", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SealedChamber/map.json b/data/maps/Underwater_SealedChamber/map.json index 5f3b990559..88880fcee9 100644 --- a/data/maps/Underwater_SealedChamber/map.json +++ b/data/maps/Underwater_SealedChamber/map.json @@ -20,7 +20,7 @@ "y": 1, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE134", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/Underwater_SootopolisCity/map.json b/data/maps/Underwater_SootopolisCity/map.json index 0d1363ff6c..86a337399a 100644 --- a/data/maps/Underwater_SootopolisCity/map.json +++ b/data/maps/Underwater_SootopolisCity/map.json @@ -20,14 +20,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE126", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 8, "elevation": 0, "dest_map": "MAP_UNDERWATER_ROUTE126", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index 3d19cd55fc..8c663eb42e 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -137,15 +137,15 @@ "x": 7, "y": 11, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" }, { "x": 8, "y": 11, "elevation": 3, - "dest_map": "MAP_NONE", - "dest_warp_id": 127 + "dest_map": "MAP_DYNAMIC", + "dest_warp_id": "WARP_ID_DYNAMIC" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown/map.json b/data/maps/VerdanturfTown/map.json index 94d140c05e..ae40730c0e 100644 --- a/data/maps/VerdanturfTown/map.json +++ b/data/maps/VerdanturfTown/map.json @@ -14,14 +14,14 @@ "battle_scene": "MAP_BATTLE_SCENE_NORMAL", "connections": [ { - "direction": "up", + "map": "MAP_ROUTE116", "offset": -80, - "map": "MAP_ROUTE116" + "direction": "up" }, { - "direction": "right", + "map": "MAP_ROUTE117", "offset": 0, - "map": "MAP_ROUTE117" + "direction": "right" } ], "object_events": [ @@ -84,49 +84,49 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 12, "y": 3, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_MART", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 16, "y": 3, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 10, "y": 14, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_WANDAS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 8, "y": 1, "elevation": 0, "dest_map": "MAP_RUSTURF_TUNNEL", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 1, "y": 14, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 15, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN_HOUSE", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_BattleTentLobby/map.json b/data/maps/VerdanturfTown_BattleTentLobby/map.json index d4a8ccfa57..ddb4b9dd35 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/map.json +++ b/data/maps/VerdanturfTown_BattleTentLobby/map.json @@ -99,14 +99,14 @@ "y": 9, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 7, "y": 9, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json index 7fa3104261..0a92eb6106 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/map.json @@ -47,14 +47,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 5 + "dest_warp_id": "5" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_House/map.json b/data/maps/VerdanturfTown_House/map.json index d552e914a7..b32414626f 100644 --- a/data/maps/VerdanturfTown_House/map.json +++ b/data/maps/VerdanturfTown_House/map.json @@ -47,14 +47,14 @@ "y": 8, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 6 + "dest_warp_id": "6" }, { "x": 4, "y": 8, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_Mart/map.json b/data/maps/VerdanturfTown_Mart/map.json index b8183646ca..096d63552e 100644 --- a/data/maps/VerdanturfTown_Mart/map.json +++ b/data/maps/VerdanturfTown_Mart/map.json @@ -73,14 +73,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 4, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 1 + "dest_warp_id": "1" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json index 8e3fc3e286..20a144afb9 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/map.json @@ -73,21 +73,21 @@ "y": 8, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 6, "y": 8, "elevation": 3, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 1, "y": 6, "elevation": 4, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json index 2edb6602db..9785cdbe06 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/map.json +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/map.json @@ -73,21 +73,21 @@ "y": 6, "elevation": 4, "dest_map": "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 1, "elevation": 3, "dest_map": "MAP_UNION_ROOM", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 9, "y": 1, "elevation": 3, "dest_map": "MAP_TRADE_CENTER", - "dest_warp_id": 0 + "dest_warp_id": "0" } ], "coord_events": [], diff --git a/data/maps/VerdanturfTown_WandasHouse/map.json b/data/maps/VerdanturfTown_WandasHouse/map.json index 43a5b9c441..309ae8e380 100644 --- a/data/maps/VerdanturfTown_WandasHouse/map.json +++ b/data/maps/VerdanturfTown_WandasHouse/map.json @@ -86,14 +86,14 @@ "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 8, "y": 7, "elevation": 0, "dest_map": "MAP_VERDANTURF_TOWN", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/VictoryRoad_1F/map.json b/data/maps/VictoryRoad_1F/map.json index 5f3271c89e..44a2bca660 100644 --- a/data/maps/VictoryRoad_1F/map.json +++ b/data/maps/VictoryRoad_1F/map.json @@ -138,35 +138,35 @@ "y": 40, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 39, "y": 5, "elevation": 3, "dest_map": "MAP_EVER_GRANDE_CITY", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 21, "y": 32, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 5 + "dest_warp_id": "5" }, { "x": 42, "y": 38, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 9, "y": 14, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 4 + "dest_warp_id": "4" } ], "coord_events": [ diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 68b013ef46..6f339a1c25 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -294,49 +294,49 @@ "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 17, "y": 16, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 42, "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 42, "y": 2, "elevation": 4, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 8, "y": 3, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 4 + "dest_warp_id": "4" }, { "x": 20, "y": 21, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_1F", - "dest_warp_id": 2 + "dest_warp_id": "2" }, { "x": 5, "y": 26, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B2F", - "dest_warp_id": 3 + "dest_warp_id": "3" } ], "coord_events": [], diff --git a/data/maps/VictoryRoad_B2F/map.json b/data/maps/VictoryRoad_B2F/map.json index 6ee56389f7..d38bda2a7e 100644 --- a/data/maps/VictoryRoad_B2F/map.json +++ b/data/maps/VictoryRoad_B2F/map.json @@ -112,28 +112,28 @@ "y": 25, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 0 + "dest_warp_id": "0" }, { "x": 43, "y": 2, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 3 + "dest_warp_id": "3" }, { "x": 19, "y": 12, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 1 + "dest_warp_id": "1" }, { "x": 5, "y": 26, "elevation": 3, "dest_map": "MAP_VICTORY_ROAD_B1F", - "dest_warp_id": 6 + "dest_warp_id": "6" } ], "coord_events": [], diff --git a/data/scripts/repel.inc b/data/scripts/repel.inc index fc178603c0..fc32df1d9c 100644 --- a/data/scripts/repel.inc +++ b/data/scripts/repel.inc @@ -1,6 +1,115 @@ EventScript_RepelWoreOff:: +.if I_REPEL_LURE_MENU == TRUE + checkitem ITEM_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother + checkitem ITEM_SUPER_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother + checkitem ITEM_MAX_REPEL, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother +.else + checkitem VAR_LAST_REPEL_LURE_USED, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother +.endif + lock msgbox Text_RepelWoreOff, MSGBOX_SIGN + release + end + +EventScript_RepelUseAnother: + lock + msgbox Text_UseAnotherRepel, MSGBOX_YESNO +.if I_REPEL_LURE_MENU == TRUE + callnative TryDrawRepelMenu + goto_if_eq VAR_RESULT, FALSE, EventScript_RepelWoreOff_Chose + waitstate + goto_if_eq VAR_RESULT, 127, EventScript_RepelWoreOff_End +EventScript_RepelWoreOff_Chose: + callnative HandleRepelMenuChoice + bufferitemname 1, VAR_0x8004 + removeitem VAR_0x8004, 1 + playse SE_REPEL + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN +.else + goto_if_eq VAR_RESULT, YES, EventScript_UsedRepel +.endif +EventScript_RepelWoreOff_End: + release + end + +EventScript_UsedRepel: + bufferitemname 1, VAR_LAST_REPEL_LURE_USED + playse SE_REPEL + lock + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN + removeitem VAR_LAST_REPEL_LURE_USED, 1 + waitse + callnative HandleUseExpiredRepel + release + end + +EventScript_LureWoreOff:: +.if I_REPEL_LURE_MENU == TRUE + checkitem ITEM_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother + checkitem ITEM_SUPER_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother + checkitem ITEM_MAX_LURE, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother +.else + checkitem VAR_LAST_REPEL_LURE_USED, 1 + goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother +.endif + lock + msgbox Text_LureWoreOff, MSGBOX_SIGN + release + end + +EventScript_LureUseAnother: + lock + msgbox Text_UseAnotherLure, MSGBOX_YESNO +.if I_REPEL_LURE_MENU == TRUE + callnative TryDrawLureMenu + goto_if_eq VAR_RESULT, FALSE, EventScript_LureWoreOff_Chose + waitstate + goto_if_eq VAR_RESULT, 127, EventScript_LureWoreOff_End +EventScript_LureWoreOff_Chose: + callnative HandleLureMenuChoice + bufferitemname 1, VAR_0x8004 + removeitem VAR_0x8004, 1 + playse SE_REPEL + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN +.else + goto_if_eq VAR_RESULT, YES, EventScript_UsedLure +.endif +EventScript_LureWoreOff_End: + release + end + +EventScript_UsedLure: + bufferitemname 1, VAR_LAST_REPEL_LURE_USED + playse SE_REPEL + lock + msgbox Text_UsedNewRepelLure, MSGBOX_SIGN + removeitem VAR_LAST_REPEL_LURE_USED, 1 + waitse + callnative HandleUseExpiredLure + release end Text_RepelWoreOff: .string "REPEL's effect wore off…$" + +Text_UseAnotherRepel:: + .string "REPEL's effect wore off!\n" + .string "Use another?$" + +Text_LureWoreOff: + .string "Lure's effect wore off…$" + +Text_UseAnotherLure:: + .string "Lure's effect wore off!\n" + .string "Use another?$" + +Text_UsedNewRepelLure:: + .string "{PLAYER} used the\n" + .string "{STR_VAR_2}.$" diff --git a/data/sound_data.s b/data/sound_data.s index 1bc2995808..39bef4b332 100644 --- a/data/sound_data.s +++ b/data/sound_data.s @@ -2,7 +2,7 @@ .include "asm/macros/m4a.inc" .include "asm/macros/music_voice.inc" - .include "include/constants/pokemon_config.h" + .include "include/config/pokemon.h" .include "sound/voice_groups.inc" .include "sound/keysplit_tables.inc" .include "sound/programmable_wave_data.inc" diff --git a/data/tilesets.s b/data/tilesets.s deleted file mode 100644 index 4436862348..0000000000 --- a/data/tilesets.s +++ /dev/null @@ -1,8 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .include "data/tilesets/graphics.inc" - .include "data/tilesets/metatiles.inc" - .include "data/tilesets/headers.inc" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc deleted file mode 100644 index c85bd249e1..0000000000 --- a/data/tilesets/graphics.inc +++ /dev/null @@ -1,1731 +0,0 @@ - .align 2 -gTilesetTiles_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Dewford:: - .incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Dewford:: - .incbin "data/tilesets/secondary/dewford/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Slateport:: - .incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Slateport:: - .incbin "data/tilesets/secondary/slateport/palettes/00.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/01.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/02.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/03.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/04.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/05.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/06.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/07.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/08.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/09.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/10.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/11.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/12.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/13.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/14.gbapal" - .incbin "data/tilesets/secondary/slateport/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mauville:: - .incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mauville:: - .incbin "data/tilesets/secondary/mauville/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fallarbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Fortree:: - .incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Fortree:: - .incbin "data/tilesets/secondary/fortree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/03.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/04.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/05.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/06.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/07.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/08.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/09.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/10.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/11.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/12.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/13.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/14.gbapal" - .incbin "data/tilesets/secondary/ever_grande/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pacifidlog/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideBuilding:: - .incbin "data/tilesets/primary/building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideBuilding:: - .incbin "data/tilesets/primary/building/palettes/00.gbapal" - .incbin "data/tilesets/primary/building/palettes/01.gbapal" - .incbin "data/tilesets/primary/building/palettes/02.gbapal" - .incbin "data/tilesets/primary/building/palettes/03.gbapal" - .incbin "data/tilesets/primary/building/palettes/04.gbapal" - .incbin "data/tilesets/primary/building/palettes/05.gbapal" - .incbin "data/tilesets/primary/building/palettes/06.gbapal" - .incbin "data/tilesets/primary/building/palettes/07.gbapal" - .incbin "data/tilesets/primary/building/palettes/08.gbapal" - .incbin "data/tilesets/primary/building/palettes/09.gbapal" - .incbin "data/tilesets/primary/building/palettes/10.gbapal" - .incbin "data/tilesets/primary/building/palettes/11.gbapal" - .incbin "data/tilesets/primary/building/palettes/12.gbapal" - .incbin "data/tilesets/primary/building/palettes/13.gbapal" - .incbin "data/tilesets/primary/building/palettes/14.gbapal" - .incbin "data/tilesets/primary/building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Shop:: - .incbin "data/tilesets/secondary/shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Shop:: - .incbin "data/tilesets/secondary/shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_center/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Cave:: - .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Cave:: - .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_school/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused1:: - .incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused1:: - .incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_1/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/03.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/04.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/05.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/06.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/07.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/08.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/09.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/10.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/11.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/12.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/13.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/14.gbapal" - .incbin "data/tilesets/secondary/meteor_falls/palettes/15.gbapal" - - .align 2 -gTilesetTiles_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/oceanic_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/secondary/cable_club/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/03.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/04.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/05.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/06.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/07.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/08.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/09.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/10.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/11.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/12.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/13.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/14.gbapal" - .incbin "data/tilesets/secondary/cable_club/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/seashore_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal" - .incbin "data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Facility:: - .incbin "data/tilesets/secondary/facility/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Facility:: - .incbin "data/tilesets/secondary/facility/palettes/00.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/01.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/02.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/03.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/04.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/05.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/06.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/07.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/08.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/09.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/10.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/11.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/12.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/13.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/14.gbapal" - .incbin "data/tilesets/secondary/facility/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/03.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/04.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/05.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/06.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/07.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/08.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/09.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/10.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/11.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/12.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/13.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/14.gbapal" - .incbin "data/tilesets/secondary/bike_shop/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBrownCave:: - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseTree:: - .incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/tree/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseShrub:: - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseBlueCave:: - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseYellowCave:: - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal" - - .align 2 -@ unused compressed copy of tiles - .incbin "data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SecretBaseRedCave:: - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal" - .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBaseBrownCave:: - .incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseTree:: - .incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseShrub:: - .incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseBlueCave:: - .incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseYellowCave:: - .incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_SecretBaseRedCave:: - .incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp" - - .align 2 -gTilesetTiles_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_of_truck/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Contest:: - .incbin "data/tilesets/secondary/contest/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Contest:: - .incbin "data/tilesets/secondary/contest/palettes/00.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/01.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/02.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/03.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/04.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/05.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/06.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/07.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/08.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/09.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/10.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/11.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/12.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/13.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/14.gbapal" - .incbin "data/tilesets/secondary/contest/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lilycove_museum/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Lab:: - .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Lab:: - .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lab/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Underwater:: - .incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Underwater:: - .incbin "data/tilesets/secondary/underwater/palettes/00.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/01.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/02.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/03.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/04.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/05.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/06.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/07.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/08.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/09.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/10.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/11.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/12.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/13.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/14.gbapal" - .incbin "data/tilesets/secondary/underwater/palettes/15.gbapal" - - .align 2 -gTilesetTiles_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/03.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/04.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/05.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/06.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/07.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/08.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/09.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/10.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/11.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/12.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/13.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/14.gbapal" - .incbin "data/tilesets/secondary/generic_building/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_Unused2:: - .incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_Unused2:: - .incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/03.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/04.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/05.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/06.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/07.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/08.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/09.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/10.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/11.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/12.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/13.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/14.gbapal" - .incbin "data/tilesets/secondary/unused_2/palettes/15.gbapal" - - .align 2 -gTilesetTiles_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/rustboro_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/dewford_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mauville_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/petalburg_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/fortree_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal" - .incbin "data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal" - - .align 2 -gTilesetTiles_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/palettes/00.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/01.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/02.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/03.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/04.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/05.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/06.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/07.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/08.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/09.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/10.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/11.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/12.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/13.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/14.gbapal" - .incbin "data/tilesets/secondary/inside_ship/palettes/15.gbapal" - - .align 2 -gTilesetTiles_SecretBase:: - .incbin "data/tilesets/primary/secret_base/tiles.4bpp" - - .align 2 - .incbin "data/tilesets/primary/secret_base/unknown_tiles.4bpp" - - .align 2 -gTilesetPalettes_SecretBase:: - .incbin "data/tilesets/primary/secret_base/palettes/00.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/01.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/02.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/03.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/04.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/05.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/06.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/07.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/08.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/09.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/10.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/11.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/12.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/13.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/14.gbapal" - .incbin "data/tilesets/primary/secret_base/palettes/15.gbapal" - - .align 2 -gTilesetTiles_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/03.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/04.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/05.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/06.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/07.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/08.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/09.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/10.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/11.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/12.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/13.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/14.gbapal" - .incbin "data/tilesets/secondary/elite_four/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_palace/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_dome/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_factory/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pike/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_arena/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_pyramid/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mirage_tower/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal" - - .align 2 -gTilesetTiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/palettes/00.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/01.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/02.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/03.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/04.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/05.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/06.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/07.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/08.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/09.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/10.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/11.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/12.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/13.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/14.gbapal" - .incbin "data/tilesets/secondary/island_harbor/palettes/15.gbapal" - - .align 2 -gTilesetTiles_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/palettes/00.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/01.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/02.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/03.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/04.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/05.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/06.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/07.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/08.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/09.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/10.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/11.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/12.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/13.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/14.gbapal" - .incbin "data/tilesets/secondary/trainer_hill/palettes/15.gbapal" - - .align 2 -gTilesetTiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/palettes/00.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/01.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/02.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/03.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/04.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/05.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/06.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/07.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/08.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/09.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/10.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/11.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/12.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/13.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/14.gbapal" - .incbin "data/tilesets/secondary/navel_rock/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal" - - .align 2 -gTilesetTiles_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/palettes/00.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/01.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/02.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/03.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/04.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/05.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/06.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/07.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/08.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/09.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/10.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/11.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/12.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/13.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/14.gbapal" - .incbin "data/tilesets/secondary/battle_tent/palettes/15.gbapal" - - .align 2 -gTilesetTiles_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz" - - .align 2 -gTilesetPalettes_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/palettes/00.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/01.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/02.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/03.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/04.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/05.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/06.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/07.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/08.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/09.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/10.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/11.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/12.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/13.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/14.gbapal" - .incbin "data/tilesets/secondary/mystery_events_house/palettes/15.gbapal" - - .align 2 -gTilesetPalettes_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/palettes/00.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/01.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/02.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/03.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/04.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/05.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/06.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/07.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/08.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/09.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/10.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/11.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/12.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/13.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/14.gbapal" - .incbin "data/tilesets/secondary/union_room/palettes/15.gbapal" - - .align 2 -gTilesetTiles_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/tiles.4bpp.lz" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc deleted file mode 100644 index 6324e943c7..0000000000 --- a/data/tilesets/headers.inc +++ /dev/null @@ -1,832 +0,0 @@ - .align 2 -gTileset_General:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_General - .4byte gTilesetPalettes_General - .4byte gMetatiles_General - .4byte gMetatileAttributes_General - .4byte InitTilesetAnim_General - - .align 2 -gTileset_Petalburg:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Petalburg - .4byte gTilesetPalettes_Petalburg - .4byte gMetatiles_Petalburg - .4byte gMetatileAttributes_Petalburg - .4byte InitTilesetAnim_Petalburg - - .align 2 -gTileset_Rustboro:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Rustboro - .4byte gTilesetPalettes_Rustboro - .4byte gMetatiles_Rustboro - .4byte gMetatileAttributes_Rustboro - .4byte InitTilesetAnim_Rustboro - - .align 2 -gTileset_Dewford:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Dewford - .4byte gTilesetPalettes_Dewford - .4byte gMetatiles_Dewford - .4byte gMetatileAttributes_Dewford - .4byte InitTilesetAnim_Dewford - - .align 2 -gTileset_Slateport:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Slateport - .4byte gTilesetPalettes_Slateport - .4byte gMetatiles_Slateport - .4byte gMetatileAttributes_Slateport - .4byte InitTilesetAnim_Slateport - - .align 2 -gTileset_Mauville:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mauville - .4byte gTilesetPalettes_Mauville - .4byte gMetatiles_Mauville - .4byte gMetatileAttributes_Mauville - .4byte InitTilesetAnim_Mauville - - .align 2 -gTileset_Lavaridge:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lavaridge - .4byte gTilesetPalettes_Lavaridge - .4byte gMetatiles_Lavaridge - .4byte gMetatileAttributes_Lavaridge - .4byte InitTilesetAnim_Lavaridge - - .align 2 -gTileset_Fallarbor:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fallarbor - .4byte gTilesetPalettes_Fallarbor - .4byte gMetatiles_Fallarbor - .4byte gMetatileAttributes_Fallarbor - .4byte InitTilesetAnim_Fallarbor - - .align 2 -gTileset_Fortree:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Fortree - .4byte gTilesetPalettes_Fortree - .4byte gMetatiles_Fortree - .4byte gMetatileAttributes_Fortree - .4byte InitTilesetAnim_Fortree - - .align 2 -gTileset_Lilycove:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lilycove - .4byte gTilesetPalettes_Lilycove - .4byte gMetatiles_Lilycove - .4byte gMetatileAttributes_Lilycove - .4byte InitTilesetAnim_Lilycove - - .align 2 -gTileset_Mossdeep:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Mossdeep - .4byte gTilesetPalettes_Mossdeep - .4byte gMetatiles_Mossdeep - .4byte gMetatileAttributes_Mossdeep - .4byte InitTilesetAnim_Mossdeep - - .align 2 -gTileset_EverGrande:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EverGrande - .4byte gTilesetPalettes_EverGrande - .4byte gMetatiles_EverGrande - .4byte gMetatileAttributes_EverGrande - .4byte InitTilesetAnim_EverGrande - - .align 2 -gTileset_Pacifidlog:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Pacifidlog - .4byte gTilesetPalettes_Pacifidlog - .4byte gMetatiles_Pacifidlog - .4byte gMetatileAttributes_Pacifidlog - .4byte InitTilesetAnim_Pacifidlog - - .align 2 -gTileset_Sootopolis:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Sootopolis - .4byte gTilesetPalettes_Sootopolis - .4byte gMetatiles_Sootopolis - .4byte gMetatileAttributes_Sootopolis - .4byte InitTilesetAnim_Sootopolis - - .align 2 -gTileset_BattleFrontierOutsideWest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideWest - .4byte gTilesetPalettes_BattleFrontierOutsideWest - .4byte gMetatiles_BattleFrontierOutsideWest - .4byte gMetatileAttributes_BattleFrontierOutsideWest - .4byte InitTilesetAnim_BattleFrontierOutsideWest - - .align 2 -gTileset_BattleFrontierOutsideEast:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierOutsideEast - .4byte gTilesetPalettes_BattleFrontierOutsideEast - .4byte gMetatiles_BattleFrontierOutsideEast - .4byte gMetatileAttributes_BattleFrontierOutsideEast - .4byte InitTilesetAnim_BattleFrontierOutsideEast - - .align 2 -gTileset_Building:: - .byte TRUE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideBuilding - .4byte gTilesetPalettes_InsideBuilding - .4byte gMetatiles_InsideBuilding - .4byte gMetatileAttributes_InsideBuilding - .4byte InitTilesetAnim_Building - - .align 2 -gTileset_Shop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Shop - .4byte gTilesetPalettes_Shop - .4byte gMetatiles_Shop - .4byte gMetatileAttributes_Shop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonCenter:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonCenter - .4byte gTilesetPalettes_PokemonCenter - .4byte gMetatiles_PokemonCenter - .4byte gMetatileAttributes_PokemonCenter - .4byte NULL @ animation callback - - .align 2 -gTileset_Cave:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Cave - .4byte gTilesetPalettes_Cave - .4byte gMetatiles_Cave - .4byte gMetatileAttributes_Cave - .4byte InitTilesetAnim_Cave - - .align 2 -gTileset_PokemonSchool:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonSchool - .4byte gTilesetPalettes_PokemonSchool - .4byte gMetatiles_PokemonSchool - .4byte gMetatileAttributes_PokemonSchool - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonFanClub:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonFanClub - .4byte gTilesetPalettes_PokemonFanClub - .4byte gMetatiles_PokemonFanClub - .4byte gMetatileAttributes_PokemonFanClub - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused1:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused1 - .4byte gTilesetPalettes_Unused1 - .4byte gMetatiles_Unused1 - .4byte gMetatileAttributes_Unused1 - .4byte NULL @ animation callback - - .align 2 -gTileset_MeteorFalls:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MeteorFalls - .4byte gTilesetPalettes_MeteorFalls - .4byte gMetatiles_MeteorFalls - .4byte gMetatileAttributes_MeteorFalls - .4byte NULL @ animation callback - - .align 2 -gTileset_OceanicMuseum:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_OceanicMuseum - .4byte gTilesetPalettes_OceanicMuseum - .4byte gMetatiles_OceanicMuseum - .4byte gMetatileAttributes_OceanicMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_CableClub:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_CableClub - .4byte gTilesetPalettes_CableClub - .4byte gMetatiles_CableClub - .4byte gMetatileAttributes_CableClub - .4byte NULL @ animation callback - - .align 2 -gTileset_SeashoreHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SeashoreHouse - .4byte gTilesetPalettes_SeashoreHouse - .4byte gMetatiles_SeashoreHouse - .4byte gMetatileAttributes_SeashoreHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_PrettyPetalFlowerShop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PrettyPetalFlowerShop - .4byte gTilesetPalettes_PrettyPetalFlowerShop - .4byte gMetatiles_PrettyPetalFlowerShop - .4byte gMetatileAttributes_PrettyPetalFlowerShop - .4byte NULL @ animation callback - - .align 2 -gTileset_PokemonDayCare:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PokemonDayCare - .4byte gTilesetPalettes_PokemonDayCare - .4byte gMetatiles_PokemonDayCare - .4byte gMetatileAttributes_PokemonDayCare - .4byte NULL @ animation callback - - .align 2 -gTileset_Facility:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Facility - .4byte gTilesetPalettes_Facility - .4byte gMetatiles_Facility - .4byte gMetatileAttributes_Facility - .4byte NULL @ animation callback - - .align 2 -gTileset_BikeShop:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BikeShop - .4byte gTilesetPalettes_BikeShop - .4byte gMetatiles_BikeShop - .4byte gMetatileAttributes_BikeShop - .4byte InitTilesetAnim_BikeShop - - .align 2 -gTileset_RusturfTunnel:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RusturfTunnel - .4byte gTilesetPalettes_RusturfTunnel - .4byte gMetatiles_RusturfTunnel - .4byte gMetatileAttributes_RusturfTunnel - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBrownCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBrownCave - .4byte gTilesetPalettes_SecretBaseBrownCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseTree:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseTree - .4byte gTilesetPalettes_SecretBaseTree - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseShrub:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseShrub - .4byte gTilesetPalettes_SecretBaseShrub - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseBlueCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseBlueCave - .4byte gTilesetPalettes_SecretBaseBlueCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseYellowCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseYellowCave - .4byte gTilesetPalettes_SecretBaseYellowCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBaseRedCave:: - .byte FALSE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBaseRedCave - .4byte gTilesetPalettes_SecretBaseRedCave - .4byte gMetatiles_SecretBaseSecondary - .4byte gMetatileAttributes_SecretBaseSecondary - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideOfTruck:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideOfTruck - .4byte gTilesetPalettes_InsideOfTruck - .4byte gMetatiles_InsideOfTruck - .4byte gMetatileAttributes_InsideOfTruck - .4byte NULL @ animation callback - - .align 2 -gTileset_Unused2:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Unused2 - .4byte gTilesetPalettes_Unused2 - .4byte gMetatiles_Unused2 - .4byte gMetatileAttributes_Unused2 - .4byte NULL @ animation callback - - .align 2 -gTileset_Contest:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Contest - .4byte gTilesetPalettes_Contest - .4byte gMetatiles_Contest - .4byte gMetatileAttributes_Contest - .4byte NULL @ animation callback - - .align 2 -gTileset_LilycoveMuseum:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LilycoveMuseum - .4byte gTilesetPalettes_LilycoveMuseum - .4byte gMetatiles_LilycoveMuseum - .4byte gMetatileAttributes_LilycoveMuseum - .4byte NULL @ animation callback - - .align 2 -gTileset_BrendansMaysHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BrendansMaysHouse - .4byte gTilesetPalettes_BrendansMaysHouse - .4byte gMetatiles_BrendansMaysHouse - .4byte gMetatileAttributes_BrendansMaysHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_Lab:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Lab - .4byte gTilesetPalettes_Lab - .4byte gMetatiles_Lab - .4byte gMetatileAttributes_Lab - .4byte NULL @ animation callback - - .align 2 -gTileset_Underwater:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_Underwater - .4byte gTilesetPalettes_Underwater - .4byte gMetatiles_Underwater - .4byte gMetatileAttributes_Underwater - .4byte InitTilesetAnim_Underwater - - .align 2 -gTileset_PetalburgGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_PetalburgGym - .4byte gTilesetPalettes_PetalburgGym - .4byte gMetatiles_PetalburgGym - .4byte gMetatileAttributes_PetalburgGym - .4byte NULL @ animation callback - - .align 2 -gTileset_SootopolisGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SootopolisGym - .4byte gTilesetPalettes_SootopolisGym - .4byte gMetatiles_SootopolisGym - .4byte gMetatileAttributes_SootopolisGym - .4byte InitTilesetAnim_SootopolisGym - - .align 2 -gTileset_GenericBuilding:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_GenericBuilding - .4byte gTilesetPalettes_GenericBuilding - .4byte gMetatiles_GenericBuilding - .4byte gMetatileAttributes_GenericBuilding - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGameCorner:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGameCorner - .4byte gTilesetPalettes_MauvilleGameCorner - .4byte gMetatiles_MauvilleGameCorner - .4byte gMetatileAttributes_MauvilleGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_RustboroGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_RustboroGym - .4byte gTilesetPalettes_RustboroGym - .4byte gMetatiles_RustboroGym - .4byte gMetatileAttributes_RustboroGym - .4byte NULL @ animation callback - - .align 2 -gTileset_DewfordGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_DewfordGym - .4byte gTilesetPalettes_DewfordGym - .4byte gMetatiles_DewfordGym - .4byte gMetatileAttributes_DewfordGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MauvilleGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MauvilleGym - .4byte gTilesetPalettes_MauvilleGym - .4byte gMetatiles_MauvilleGym - .4byte gMetatileAttributes_MauvilleGym - .4byte InitTilesetAnim_MauvilleGym - - .align 2 -gTileset_LavaridgeGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_LavaridgeGym - .4byte gTilesetPalettes_LavaridgeGym - .4byte gMetatiles_LavaridgeGym - .4byte gMetatileAttributes_LavaridgeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_TrickHousePuzzle:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrickHousePuzzle - .4byte gTilesetPalettes_TrickHousePuzzle - .4byte gMetatiles_TrickHousePuzzle - .4byte gMetatileAttributes_TrickHousePuzzle - .4byte NULL @ animation callback - - .align 2 -gTileset_FortreeGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_FortreeGym - .4byte gTilesetPalettes_FortreeGym - .4byte gMetatiles_FortreeGym - .4byte gMetatileAttributes_FortreeGym - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGym:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGym - .4byte gTilesetPalettes_MossdeepGym - .4byte gMetatiles_MossdeepGym - .4byte gMetatileAttributes_MossdeepGym - .4byte NULL @ animation callback - - .align 2 -gTileset_InsideShip:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_InsideShip - .4byte gTilesetPalettes_InsideShip - .4byte gMetatiles_InsideShip - .4byte gMetatileAttributes_InsideShip - .4byte NULL @ animation callback - - .align 2 -gTileset_SecretBase:: - .byte FALSE @ is compressed - .byte FALSE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_SecretBase - .4byte gTilesetPalettes_SecretBase - .4byte gMetatiles_SecretBasePrimary - .4byte gMetatileAttributes_SecretBasePrimary - .4byte NULL @ animation callback - - .align 2 -gTilesetPointer_SecretBase:: - .4byte gTileset_SecretBase - - .align 2 -gTilesetPointer_SecretBaseRedCave:: - .4byte gTileset_SecretBaseRedCave - - .align 2 -gTileset_EliteFour:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_EliteFour - .4byte gTilesetPalettes_EliteFour - .4byte gMetatiles_EliteFour - .4byte gMetatileAttributes_EliteFour - .4byte InitTilesetAnim_EliteFour - - .align 2 -gTileset_BattleFrontier:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontier - .4byte gTilesetPalettes_BattleFrontier - .4byte gMetatiles_BattleFrontier - .4byte gMetatileAttributes_BattleFrontier - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePalace:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePalace - .4byte gTilesetPalettes_BattlePalace - .4byte gMetatiles_BattlePalace - .4byte gMetatileAttributes_BattlePalace - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleDome:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleDome - .4byte gTilesetPalettes_BattleDome - .4byte gMetatiles_BattleDome - .4byte gMetatileAttributes_BattleDome - .4byte InitTilesetAnim_BattleDome - - .align 2 -gTileset_BattleFactory:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFactory - .4byte gTilesetPalettes_BattleFactory - .4byte gMetatiles_BattleFactory - .4byte gMetatileAttributes_BattleFactory - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePike:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePike - .4byte gTilesetPalettes_BattlePike - .4byte gMetatiles_BattlePike - .4byte gMetatileAttributes_BattlePike - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleArena:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleArena - .4byte gTilesetPalettes_BattleArena - .4byte gMetatiles_BattleArena - .4byte gMetatileAttributes_BattleArena - .4byte NULL @ animation callback - - .align 2 -gTileset_BattlePyramid:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattlePyramid - .4byte gTilesetPalettes_BattlePyramid - .4byte gMetatiles_BattlePyramid - .4byte gMetatileAttributes_BattlePyramid - .4byte InitTilesetAnim_BattlePyramid - - .align 2 -gTileset_MirageTower:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MirageTower - .4byte gTilesetPalettes_MirageTower - .4byte gMetatiles_MirageTower - .4byte gMetatileAttributes_MirageTower - .4byte NULL @ animation callback - - .align 2 -gTileset_MossdeepGameCorner:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MossdeepGameCorner - .4byte gTilesetPalettes_MossdeepGameCorner - .4byte gMetatiles_MossdeepGameCorner - .4byte gMetatileAttributes_MossdeepGameCorner - .4byte NULL @ animation callback - - .align 2 -gTileset_IslandHarbor:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_IslandHarbor - .4byte gTilesetPalettes_IslandHarbor - .4byte gMetatiles_IslandHarbor - .4byte gMetatileAttributes_IslandHarbor - .4byte NULL @ animation callback - - .align 2 -gTileset_TrainerHill:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_TrainerHill - .4byte gTilesetPalettes_TrainerHill - .4byte gMetatiles_TrainerHill - .4byte gMetatileAttributes_TrainerHill - .4byte NULL @ animation callback - - .align 2 -gTileset_NavelRock:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_NavelRock - .4byte gTilesetPalettes_NavelRock - .4byte gMetatiles_NavelRock - .4byte gMetatileAttributes_NavelRock - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleFrontierRankingHall:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleFrontierRankingHall - .4byte gTilesetPalettes_BattleFrontierRankingHall - .4byte gMetatiles_BattleFrontierRankingHall - .4byte gMetatileAttributes_BattleFrontierRankingHall - .4byte NULL @ animation callback - - .align 2 -gTileset_BattleTent:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_BattleTent - .4byte gTilesetPalettes_BattleTent - .4byte gMetatiles_BattleTent - .4byte gMetatileAttributes_BattleTent - .4byte NULL @ animation callback - - .align 2 -gTileset_MysteryEventsHouse:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_MysteryEventsHouse - .4byte gTilesetPalettes_MysteryEventsHouse - .4byte gMetatiles_MysteryEventsHouse - .4byte gMetatileAttributes_MysteryEventsHouse - .4byte NULL @ animation callback - - .align 2 -gTileset_UnionRoom:: - .byte TRUE @ is compressed - .byte TRUE @ is secondary tileset - .2byte 0 @ padding - .4byte gTilesetTiles_UnionRoom - .4byte gTilesetPalettes_UnionRoom - .4byte gMetatiles_UnionRoom - .4byte gMetatileAttributes_UnionRoom - .4byte NULL @ animation callback diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc deleted file mode 100644 index 5fbb529d0a..0000000000 --- a/data/tilesets/metatiles.inc +++ /dev/null @@ -1,559 +0,0 @@ - .align 1 -gMetatiles_General:: - .incbin "data/tilesets/primary/general/metatiles.bin" - - .align 1 -gMetatileAttributes_General:: - .incbin "data/tilesets/primary/general/metatile_attributes.bin" - - .align 1 -gMetatiles_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/metatiles.bin" - - .align 1 -gMetatileAttributes_Petalburg:: - .incbin "data/tilesets/secondary/petalburg/metatile_attributes.bin" - - .align 1 -gMetatiles_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/metatiles.bin" - - .align 1 -gMetatileAttributes_Rustboro:: - .incbin "data/tilesets/secondary/rustboro/metatile_attributes.bin" - - .align 1 -gMetatiles_Dewford:: - .incbin "data/tilesets/secondary/dewford/metatiles.bin" - - .align 1 -gMetatileAttributes_Dewford:: - .incbin "data/tilesets/secondary/dewford/metatile_attributes.bin" - - .align 1 -gMetatiles_Slateport:: - .incbin "data/tilesets/secondary/slateport/metatiles.bin" - - .align 1 -gMetatileAttributes_Slateport:: - .incbin "data/tilesets/secondary/slateport/metatile_attributes.bin" - - .align 1 -gMetatiles_Mauville:: - .incbin "data/tilesets/secondary/mauville/metatiles.bin" - - .align 1 -gMetatileAttributes_Mauville:: - .incbin "data/tilesets/secondary/mauville/metatile_attributes.bin" - - .align 1 -gMetatiles_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/metatiles.bin" - - .align 1 -gMetatileAttributes_Lavaridge:: - .incbin "data/tilesets/secondary/lavaridge/metatile_attributes.bin" - - .align 1 -gMetatiles_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/metatiles.bin" - - .align 1 -gMetatileAttributes_Fallarbor:: - .incbin "data/tilesets/secondary/fallarbor/metatile_attributes.bin" - - .align 1 -gMetatiles_Fortree:: - .incbin "data/tilesets/secondary/fortree/metatiles.bin" - - .align 1 -gMetatileAttributes_Fortree:: - .incbin "data/tilesets/secondary/fortree/metatile_attributes.bin" - - .align 1 -gMetatiles_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/metatiles.bin" - - .align 1 -gMetatileAttributes_Lilycove:: - .incbin "data/tilesets/secondary/lilycove/metatile_attributes.bin" - - .align 1 -gMetatiles_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/metatiles.bin" - - .align 1 -gMetatileAttributes_Mossdeep:: - .incbin "data/tilesets/secondary/mossdeep/metatile_attributes.bin" - - .align 1 -gMetatiles_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/metatiles.bin" - - .align 1 -gMetatileAttributes_EverGrande:: - .incbin "data/tilesets/secondary/ever_grande/metatile_attributes.bin" - - .align 1 -gMetatiles_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/metatiles.bin" - - .align 1 -gMetatileAttributes_Pacifidlog:: - .incbin "data/tilesets/secondary/pacifidlog/metatile_attributes.bin" - - .align 1 -gMetatiles_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/metatiles.bin" - - .align 1 -gMetatileAttributes_Sootopolis:: - .incbin "data/tilesets/secondary/sootopolis/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierOutsideWest:: - .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierOutsideEast:: - .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideBuilding:: - .incbin "data/tilesets/primary/building/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideBuilding:: - .incbin "data/tilesets/primary/building/metatile_attributes.bin" - - .align 1 -gMetatiles_Shop:: - .incbin "data/tilesets/secondary/shop/metatiles.bin" - - .align 1 -gMetatileAttributes_Shop:: - .incbin "data/tilesets/secondary/shop/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonCenter:: - .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin" - - .align 1 -gMetatiles_Cave:: - .incbin "data/tilesets/secondary/cave/metatiles.bin" - - .align 1 -gMetatileAttributes_Cave:: - .incbin "data/tilesets/secondary/cave/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonSchool:: - .incbin "data/tilesets/secondary/pokemon_school/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonFanClub:: - .incbin "data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin" - - .align 1 -gMetatiles_Unused1:: - .incbin "data/tilesets/secondary/unused_1/metatiles.bin" - - .align 1 -gMetatileAttributes_Unused1:: - .incbin "data/tilesets/secondary/unused_1/metatile_attributes.bin" - - .align 1 -gMetatiles_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/metatiles.bin" - - .align 1 -gMetatileAttributes_MeteorFalls:: - .incbin "data/tilesets/secondary/meteor_falls/metatile_attributes.bin" - - .align 1 -gMetatiles_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/metatiles.bin" - - .align 1 -gMetatileAttributes_OceanicMuseum:: - .incbin "data/tilesets/secondary/oceanic_museum/metatile_attributes.bin" - - .align 1 -gMetatiles_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatiles.bin" - - .align 1 -gMetatileAttributes_CableClub:: - .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin" - - .align 1 -gMetatiles_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/metatiles.bin" - - .align 1 -gMetatileAttributes_SeashoreHouse:: - .incbin "data/tilesets/secondary/seashore_house/metatile_attributes.bin" - - .align 1 -gMetatiles_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin" - - .align 1 -gMetatileAttributes_PrettyPetalFlowerShop:: - .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin" - - .align 1 -gMetatiles_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/metatiles.bin" - - .align 1 -gMetatileAttributes_PokemonDayCare:: - .incbin "data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin" - - .align 1 -gMetatiles_Facility:: - .incbin "data/tilesets/secondary/facility/metatiles.bin" - - .align 1 -gMetatileAttributes_Facility:: - .incbin "data/tilesets/secondary/facility/metatile_attributes.bin" - - .align 1 -gMetatiles_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatiles.bin" - - .align 1 -gMetatileAttributes_BikeShop:: - .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin" - - .align 1 -gMetatiles_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/metatiles.bin" - - .align 1 -gMetatileAttributes_RusturfTunnel:: - .incbin "data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin" - - .align 1 -gMetatiles_SecretBaseSecondary:: - .incbin "data/tilesets/secondary/secret_base/metatiles.bin" - - .align 1 -gMetatileAttributes_SecretBaseSecondary:: - .incbin "data/tilesets/secondary/secret_base/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideOfTruck:: - .incbin "data/tilesets/secondary/inside_of_truck/metatile_attributes.bin" - - .align 1 -gMetatiles_Contest:: - .incbin "data/tilesets/secondary/contest/metatiles.bin" - - .align 1 -gMetatileAttributes_Contest:: - .incbin "data/tilesets/secondary/contest/metatile_attributes.bin" - - .align 1 -gMetatiles_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/metatiles.bin" - - .align 1 -gMetatileAttributes_LilycoveMuseum:: - .incbin "data/tilesets/secondary/lilycove_museum/metatile_attributes.bin" - - .align 1 -gMetatiles_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/metatiles.bin" - - .align 1 -gMetatileAttributes_BrendansMaysHouse:: - .incbin "data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin" - - .align 1 -gMetatiles_Lab:: - .incbin "data/tilesets/secondary/lab/metatiles.bin" - - .align 1 -gMetatileAttributes_Lab:: - .incbin "data/tilesets/secondary/lab/metatile_attributes.bin" - - .align 1 -gMetatiles_Underwater:: - .incbin "data/tilesets/secondary/underwater/metatiles.bin" - - .align 1 -gMetatileAttributes_Underwater:: - .incbin "data/tilesets/secondary/underwater/metatile_attributes.bin" - - .align 1 -gMetatiles_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/metatiles.bin" - - .align 1 -gMetatileAttributes_GenericBuilding:: - .incbin "data/tilesets/secondary/generic_building/metatile_attributes.bin" - - .align 1 -gMetatiles_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/metatiles.bin" - - .align 1 -gMetatileAttributes_MauvilleGameCorner:: - .incbin "data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin" - - .align 1 -gMetatiles_Unused2:: - .incbin "data/tilesets/secondary/unused_2/metatiles.bin" - - .align 1 -gMetatileAttributes_Unused2:: - .incbin "data/tilesets/secondary/unused_2/metatile_attributes.bin" - - .align 1 -gMetatiles_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_RustboroGym:: - .incbin "data/tilesets/secondary/rustboro_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_DewfordGym:: - .incbin "data/tilesets/secondary/dewford_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_MauvilleGym:: - .incbin "data/tilesets/secondary/mauville_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_LavaridgeGym:: - .incbin "data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_PetalburgGym:: - .incbin "data/tilesets/secondary/petalburg_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_FortreeGym:: - .incbin "data/tilesets/secondary/fortree_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_MossdeepGym:: - .incbin "data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/metatiles.bin" - - .align 1 -gMetatileAttributes_SootopolisGym:: - .incbin "data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin" - - .align 1 -gMetatiles_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/metatiles.bin" - - .align 1 -gMetatileAttributes_TrickHousePuzzle:: - .incbin "data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin" - - .align 1 -gMetatiles_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/metatiles.bin" - - .align 1 -gMetatileAttributes_InsideShip:: - .incbin "data/tilesets/secondary/inside_ship/metatile_attributes.bin" - - .align 1 -gMetatiles_SecretBasePrimary:: - .incbin "data/tilesets/primary/secret_base/metatiles.bin" - - .align 1 -gMetatileAttributes_SecretBasePrimary:: - .incbin "data/tilesets/primary/secret_base/metatile_attributes.bin" - - .align 1 -gMetatiles_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/metatiles.bin" - - .align 1 -gMetatileAttributes_EliteFour:: - .incbin "data/tilesets/secondary/elite_four/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontier:: - .incbin "data/tilesets/secondary/battle_frontier/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePalace:: - .incbin "data/tilesets/secondary/battle_palace/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleDome:: - .incbin "data/tilesets/secondary/battle_dome/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFactory:: - .incbin "data/tilesets/secondary/battle_factory/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePike:: - .incbin "data/tilesets/secondary/battle_pike/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleArena:: - .incbin "data/tilesets/secondary/battle_arena/metatile_attributes.bin" - - .align 1 -gMetatiles_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/metatiles.bin" - - .align 1 -gMetatileAttributes_BattlePyramid:: - .incbin "data/tilesets/secondary/battle_pyramid/metatile_attributes.bin" - - .align 1 -gMetatiles_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/metatiles.bin" - - .align 1 -gMetatileAttributes_MirageTower:: - .incbin "data/tilesets/secondary/mirage_tower/metatile_attributes.bin" - - .align 1 -gMetatiles_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/metatiles.bin" - - .align 1 -gMetatileAttributes_MossdeepGameCorner:: - .incbin "data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin" - - .align 1 -gMetatiles_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatiles.bin" - - .align 1 -gMetatileAttributes_IslandHarbor:: - .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin" - - .align 1 -gMetatiles_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/metatiles.bin" - - .align 1 -gMetatileAttributes_TrainerHill:: - .incbin "data/tilesets/secondary/trainer_hill/metatile_attributes.bin" - - .align 1 -gMetatiles_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatiles.bin" - - .align 1 -gMetatileAttributes_NavelRock:: - .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleFrontierRankingHall:: - .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin" - - .align 1 -gMetatiles_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/metatiles.bin" - - .align 1 -gMetatileAttributes_BattleTent:: - .incbin "data/tilesets/secondary/battle_tent/metatile_attributes.bin" - - .align 1 -gMetatiles_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/metatiles.bin" - - .align 1 -gMetatileAttributes_MysteryEventsHouse:: - .incbin "data/tilesets/secondary/mystery_events_house/metatile_attributes.bin" - - .align 1 -gMetatiles_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/metatiles.bin" - - .align 1 -gMetatileAttributes_UnionRoom:: - .incbin "data/tilesets/secondary/union_room/metatile_attributes.bin" diff --git a/gflib/characters.h b/gflib/characters.h index 714904aa42..8ed440e63a 100644 --- a/gflib/characters.h +++ b/gflib/characters.h @@ -212,13 +212,13 @@ #define EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW 0x04 #define EXT_CTRL_CODE_PALETTE 0x05 #define EXT_CTRL_CODE_FONT 0x06 -#define EXT_CTRL_CODE_RESET_SIZE 0x07 +#define EXT_CTRL_CODE_RESET_FONT 0x07 #define EXT_CTRL_CODE_PAUSE 0x08 #define EXT_CTRL_CODE_PAUSE_UNTIL_PRESS 0x09 #define EXT_CTRL_CODE_WAIT_SE 0x0A #define EXT_CTRL_CODE_PLAY_BGM 0x0B #define EXT_CTRL_CODE_ESCAPE 0x0C -#define EXT_CTRL_CODE_SHIFT_TEXT 0x0D +#define EXT_CTRL_CODE_SHIFT_RIGHT 0x0D #define EXT_CTRL_CODE_SHIFT_DOWN 0x0E #define EXT_CTRL_CODE_FILL_WINDOW 0x0F #define EXT_CTRL_CODE_PLAY_SE 0x10 diff --git a/gflib/string_util.c b/gflib/string_util.c index 4bf8d946db..8d969d1bf5 100644 --- a/gflib/string_util.c +++ b/gflib/string_util.c @@ -354,7 +354,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) switch (c) { - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS: case EXT_CTRL_CODE_FILL_WINDOW: case EXT_CTRL_CODE_JPN: @@ -665,13 +665,13 @@ u8 GetExtCtrlCodeLength(u8 code) [EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW] = 4, [EXT_CTRL_CODE_PALETTE] = 2, [EXT_CTRL_CODE_FONT] = 2, - [EXT_CTRL_CODE_RESET_SIZE] = 1, + [EXT_CTRL_CODE_RESET_FONT] = 1, [EXT_CTRL_CODE_PAUSE] = 2, [EXT_CTRL_CODE_PAUSE_UNTIL_PRESS] = 1, [EXT_CTRL_CODE_WAIT_SE] = 1, [EXT_CTRL_CODE_PLAY_BGM] = 3, [EXT_CTRL_CODE_ESCAPE] = 2, - [EXT_CTRL_CODE_SHIFT_TEXT] = 2, + [EXT_CTRL_CODE_SHIFT_RIGHT] = 2, [EXT_CTRL_CODE_SHIFT_DOWN] = 2, [EXT_CTRL_CODE_FILL_WINDOW] = 1, [EXT_CTRL_CODE_PLAY_SE] = 3, diff --git a/gflib/text.c b/gflib/text.c index e7a7d5957b..86dca38291 100644 --- a/gflib/text.c +++ b/gflib/text.c @@ -1009,7 +1009,7 @@ static u16 RenderText(struct TextPrinter *textPrinter) subStruct->fontId = *textPrinter->printerTemplate.currentChar; textPrinter->printerTemplate.currentChar++; return RENDER_REPEAT; - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: return RENDER_REPEAT; case EXT_CTRL_CODE_PAUSE: textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar; @@ -1042,7 +1042,7 @@ static u16 RenderText(struct TextPrinter *textPrinter) textPrinter->printerTemplate.currentChar++; PlaySE(currChar); return RENDER_REPEAT; - case EXT_CTRL_CODE_SHIFT_TEXT: + case EXT_CTRL_CODE_SHIFT_RIGHT: textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar; textPrinter->printerTemplate.currentChar++; return RENDER_REPEAT; @@ -1271,7 +1271,7 @@ static u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci case EXT_CTRL_CODE_FONT: case EXT_CTRL_CODE_PAUSE: case EXT_CTRL_CODE_ESCAPE: - case EXT_CTRL_CODE_SHIFT_TEXT: + case EXT_CTRL_CODE_SHIFT_RIGHT: case EXT_CTRL_CODE_SHIFT_DOWN: case EXT_CTRL_CODE_CLEAR: case EXT_CTRL_CODE_SKIP: @@ -1279,7 +1279,7 @@ static u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpaci case EXT_CTRL_CODE_MIN_LETTER_SPACING: ++strPos; break; - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS: case EXT_CTRL_CODE_WAIT_SE: case EXT_CTRL_CODE_FILL_WINDOW: @@ -1413,7 +1413,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) case EXT_CTRL_CODE_PALETTE: case EXT_CTRL_CODE_PAUSE: case EXT_CTRL_CODE_ESCAPE: - case EXT_CTRL_CODE_SHIFT_TEXT: + case EXT_CTRL_CODE_SHIFT_RIGHT: case EXT_CTRL_CODE_SHIFT_DOWN: ++str; break; @@ -1444,7 +1444,7 @@ s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) case EXT_CTRL_CODE_ENG: isJapanese = 0; break; - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS: case EXT_CTRL_CODE_WAIT_SE: case EXT_CTRL_CODE_FILL_WINDOW: @@ -1556,7 +1556,7 @@ u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str) case EXT_CTRL_CODE_PALETTE: case EXT_CTRL_CODE_PAUSE: case EXT_CTRL_CODE_ESCAPE: - case EXT_CTRL_CODE_SHIFT_TEXT: + case EXT_CTRL_CODE_SHIFT_RIGHT: case EXT_CTRL_CODE_SHIFT_DOWN: case EXT_CTRL_CODE_CLEAR: case EXT_CTRL_CODE_SKIP: @@ -1564,7 +1564,7 @@ u8 RenderTextHandleBold(u8 *pixels, u8 fontId, u8 *str) case EXT_CTRL_CODE_MIN_LETTER_SPACING: ++strPos; break; - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: case EXT_CTRL_CODE_PAUSE_UNTIL_PRESS: case EXT_CTRL_CODE_WAIT_SE: case EXT_CTRL_CODE_FILL_WINDOW: diff --git a/graphics/interface/red_arrow.png b/graphics/interface/arrow_cursor.png similarity index 100% rename from graphics/interface/red_arrow.png rename to graphics/interface/arrow_cursor.png diff --git a/graphics/interface/selector_outline.png b/graphics/interface/outline_cursor.png similarity index 100% rename from graphics/interface/selector_outline.png rename to graphics/interface/outline_cursor.png diff --git a/graphics/interface/red.pal b/graphics/interface/red.pal new file mode 100644 index 0000000000..f820b52bb0 --- /dev/null +++ b/graphics/interface/red.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 164 197 +255 82 0 +131 32 0 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/interface/red_arrow_other.png b/graphics/interface/scroll_indicator.png similarity index 100% rename from graphics/interface/red_arrow_other.png rename to graphics/interface/scroll_indicator.png diff --git a/graphics/link/wireless_info_screen.pal b/graphics/link/wireless_info_screen.pal deleted file mode 100644 index 8e0bc05818..0000000000 --- a/graphics/link/wireless_info_screen.pal +++ /dev/null @@ -1,259 +0,0 @@ -JASC-PAL -0100 -256 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -74 246 255 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -74 246 255 -57 213 230 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -74 246 255 -57 213 230 -49 180 205 -0 32 98 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -74 246 255 -57 213 230 -49 180 205 -41 148 180 -0 32 98 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -90 90 90 -74 246 255 -57 213 230 -49 180 205 -41 148 180 -24 123 164 -0 32 98 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -74 246 255 -57 213 230 -49 180 205 -41 148 180 -24 123 164 -16 90 139 -0 32 98 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -74 246 255 -57 213 230 -49 180 205 -41 148 180 -24 123 164 -16 90 139 -8 57 115 -0 32 98 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -57 213 230 -49 180 205 -41 148 180 -24 123 164 -16 90 139 -8 57 115 -8 57 115 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -49 180 205 -41 148 180 -24 123 164 -16 90 139 -8 57 115 -8 57 115 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -41 148 180 -24 123 164 -16 90 139 -8 57 115 -8 57 115 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -24 123 164 -16 90 139 -8 57 115 -8 57 115 -90 90 90 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -16 90 139 -8 57 115 -8 57 115 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -8 57 115 -8 57 115 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 -0 0 0 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -90 90 90 -57 57 57 -172 123 0 -90 90 90 -57 57 57 -164 164 164 -255 180 0 -106 106 106 -74 74 74 diff --git a/graphics/link/wireless_info_screen.png b/graphics/link/wireless_info_screen.png deleted file mode 100644 index 796b2771a3..0000000000 Binary files a/graphics/link/wireless_info_screen.png and /dev/null differ diff --git a/graphics/pokemon/bastiodon/icon.png b/graphics/pokemon/bastiodon/icon.png index 62cea4b653..f44b735872 100644 Binary files a/graphics/pokemon/bastiodon/icon.png and b/graphics/pokemon/bastiodon/icon.png differ diff --git a/graphics/pokenav/city_maps/dewford_0.bin b/graphics/pokenav/region_map/city_maps/dewford_0.bin similarity index 100% rename from graphics/pokenav/city_maps/dewford_0.bin rename to graphics/pokenav/region_map/city_maps/dewford_0.bin diff --git a/graphics/pokenav/city_maps/ever_grande_0.bin b/graphics/pokenav/region_map/city_maps/ever_grande_0.bin similarity index 100% rename from graphics/pokenav/city_maps/ever_grande_0.bin rename to graphics/pokenav/region_map/city_maps/ever_grande_0.bin diff --git a/graphics/pokenav/city_maps/ever_grande_1.bin b/graphics/pokenav/region_map/city_maps/ever_grande_1.bin similarity index 100% rename from graphics/pokenav/city_maps/ever_grande_1.bin rename to graphics/pokenav/region_map/city_maps/ever_grande_1.bin diff --git a/graphics/pokenav/city_maps/fallarbor_0.bin b/graphics/pokenav/region_map/city_maps/fallarbor_0.bin similarity index 100% rename from graphics/pokenav/city_maps/fallarbor_0.bin rename to graphics/pokenav/region_map/city_maps/fallarbor_0.bin diff --git a/graphics/pokenav/city_maps/fortree_0.bin b/graphics/pokenav/region_map/city_maps/fortree_0.bin similarity index 100% rename from graphics/pokenav/city_maps/fortree_0.bin rename to graphics/pokenav/region_map/city_maps/fortree_0.bin diff --git a/graphics/pokenav/city_maps/lavaridge_0.bin b/graphics/pokenav/region_map/city_maps/lavaridge_0.bin similarity index 100% rename from graphics/pokenav/city_maps/lavaridge_0.bin rename to graphics/pokenav/region_map/city_maps/lavaridge_0.bin diff --git a/graphics/pokenav/city_maps/lilycove_0.bin b/graphics/pokenav/region_map/city_maps/lilycove_0.bin similarity index 100% rename from graphics/pokenav/city_maps/lilycove_0.bin rename to graphics/pokenav/region_map/city_maps/lilycove_0.bin diff --git a/graphics/pokenav/city_maps/lilycove_1.bin b/graphics/pokenav/region_map/city_maps/lilycove_1.bin similarity index 100% rename from graphics/pokenav/city_maps/lilycove_1.bin rename to graphics/pokenav/region_map/city_maps/lilycove_1.bin diff --git a/graphics/pokenav/city_maps/littleroot_0.bin b/graphics/pokenav/region_map/city_maps/littleroot_0.bin similarity index 100% rename from graphics/pokenav/city_maps/littleroot_0.bin rename to graphics/pokenav/region_map/city_maps/littleroot_0.bin diff --git a/graphics/pokenav/city_maps/mauville_0.bin b/graphics/pokenav/region_map/city_maps/mauville_0.bin similarity index 100% rename from graphics/pokenav/city_maps/mauville_0.bin rename to graphics/pokenav/region_map/city_maps/mauville_0.bin diff --git a/graphics/pokenav/city_maps/mauville_1.bin b/graphics/pokenav/region_map/city_maps/mauville_1.bin similarity index 100% rename from graphics/pokenav/city_maps/mauville_1.bin rename to graphics/pokenav/region_map/city_maps/mauville_1.bin diff --git a/graphics/pokenav/city_maps/mossdeep_0.bin b/graphics/pokenav/region_map/city_maps/mossdeep_0.bin similarity index 100% rename from graphics/pokenav/city_maps/mossdeep_0.bin rename to graphics/pokenav/region_map/city_maps/mossdeep_0.bin diff --git a/graphics/pokenav/city_maps/mossdeep_1.bin b/graphics/pokenav/region_map/city_maps/mossdeep_1.bin similarity index 100% rename from graphics/pokenav/city_maps/mossdeep_1.bin rename to graphics/pokenav/region_map/city_maps/mossdeep_1.bin diff --git a/graphics/pokenav/city_maps/oldale_0.bin b/graphics/pokenav/region_map/city_maps/oldale_0.bin similarity index 100% rename from graphics/pokenav/city_maps/oldale_0.bin rename to graphics/pokenav/region_map/city_maps/oldale_0.bin diff --git a/graphics/pokenav/city_maps/pacifidlog_0.bin b/graphics/pokenav/region_map/city_maps/pacifidlog_0.bin similarity index 100% rename from graphics/pokenav/city_maps/pacifidlog_0.bin rename to graphics/pokenav/region_map/city_maps/pacifidlog_0.bin diff --git a/graphics/pokenav/city_maps/petalburg_0.bin b/graphics/pokenav/region_map/city_maps/petalburg_0.bin similarity index 100% rename from graphics/pokenav/city_maps/petalburg_0.bin rename to graphics/pokenav/region_map/city_maps/petalburg_0.bin diff --git a/graphics/pokenav/city_maps/rustboro_0.bin b/graphics/pokenav/region_map/city_maps/rustboro_0.bin similarity index 100% rename from graphics/pokenav/city_maps/rustboro_0.bin rename to graphics/pokenav/region_map/city_maps/rustboro_0.bin diff --git a/graphics/pokenav/city_maps/rustboro_1.bin b/graphics/pokenav/region_map/city_maps/rustboro_1.bin similarity index 100% rename from graphics/pokenav/city_maps/rustboro_1.bin rename to graphics/pokenav/region_map/city_maps/rustboro_1.bin diff --git a/graphics/pokenav/city_maps/slateport_0.bin b/graphics/pokenav/region_map/city_maps/slateport_0.bin similarity index 100% rename from graphics/pokenav/city_maps/slateport_0.bin rename to graphics/pokenav/region_map/city_maps/slateport_0.bin diff --git a/graphics/pokenav/city_maps/slateport_1.bin b/graphics/pokenav/region_map/city_maps/slateport_1.bin similarity index 100% rename from graphics/pokenav/city_maps/slateport_1.bin rename to graphics/pokenav/region_map/city_maps/slateport_1.bin diff --git a/graphics/pokenav/city_maps/sootopolis_0.bin b/graphics/pokenav/region_map/city_maps/sootopolis_0.bin similarity index 100% rename from graphics/pokenav/city_maps/sootopolis_0.bin rename to graphics/pokenav/region_map/city_maps/sootopolis_0.bin diff --git a/graphics/pokenav/city_maps/verdanturf_0.bin b/graphics/pokenav/region_map/city_maps/verdanturf_0.bin similarity index 100% rename from graphics/pokenav/city_maps/verdanturf_0.bin rename to graphics/pokenav/region_map/city_maps/verdanturf_0.bin diff --git a/graphics/pokenav/city_zoom_text.png b/graphics/pokenav/region_map/city_zoom_text.png similarity index 100% rename from graphics/pokenav/city_zoom_text.png rename to graphics/pokenav/region_map/city_zoom_text.png diff --git a/graphics/pokenav/region_map_map.bin b/graphics/pokenav/region_map/map.bin similarity index 100% rename from graphics/pokenav/region_map_map.bin rename to graphics/pokenav/region_map/map.bin diff --git a/graphics/pokenav/region_map.pal b/graphics/pokenav/region_map/map.pal similarity index 100% rename from graphics/pokenav/region_map.pal rename to graphics/pokenav/region_map/map.pal diff --git a/graphics/pokenav/region_map.png b/graphics/pokenav/region_map/map.png similarity index 100% rename from graphics/pokenav/region_map.png rename to graphics/pokenav/region_map/map.png diff --git a/graphics/pokenav/zoom_tiles.png b/graphics/pokenav/region_map/zoom_tiles.png similarity index 100% rename from graphics/pokenav/zoom_tiles.png rename to graphics/pokenav/region_map/zoom_tiles.png diff --git a/graphics/pokenav/region_map_section_layout.bin b/graphics/pokenav/region_map_section_layout.bin deleted file mode 100644 index 4700e08b63..0000000000 Binary files a/graphics/pokenav/region_map_section_layout.bin and /dev/null differ diff --git a/graphics/rotating_gates/l1.png b/graphics/rotating_gates/l1.png index 93680dbfb0..e2f4779e3c 100644 Binary files a/graphics/rotating_gates/l1.png and b/graphics/rotating_gates/l1.png differ diff --git a/graphics/rotating_gates/l2.png b/graphics/rotating_gates/l2.png index 1d320ed77b..78bfe902f2 100644 Binary files a/graphics/rotating_gates/l2.png and b/graphics/rotating_gates/l2.png differ diff --git a/graphics/rotating_gates/l3.png b/graphics/rotating_gates/l3.png index 6e43079d0d..28aa331b4b 100644 Binary files a/graphics/rotating_gates/l3.png and b/graphics/rotating_gates/l3.png differ diff --git a/graphics/rotating_gates/l4.png b/graphics/rotating_gates/l4.png index 77c269dc53..c1e68ccbc6 100644 Binary files a/graphics/rotating_gates/l4.png and b/graphics/rotating_gates/l4.png differ diff --git a/graphics/rotating_gates/t1.png b/graphics/rotating_gates/t1.png index d8a0889b18..bbc8517319 100644 Binary files a/graphics/rotating_gates/t1.png and b/graphics/rotating_gates/t1.png differ diff --git a/graphics/rotating_gates/t2.png b/graphics/rotating_gates/t2.png index 668feebfbb..6e13aefda4 100644 Binary files a/graphics/rotating_gates/t2.png and b/graphics/rotating_gates/t2.png differ diff --git a/graphics/rotating_gates/t3.png b/graphics/rotating_gates/t3.png index d92ae872c5..694c9ed056 100644 Binary files a/graphics/rotating_gates/t3.png and b/graphics/rotating_gates/t3.png differ diff --git a/graphics/rotating_gates/t4.png b/graphics/rotating_gates/t4.png index 5e3a947c5c..fa3a77e38a 100644 Binary files a/graphics/rotating_gates/t4.png and b/graphics/rotating_gates/t4.png differ diff --git a/graphics/wireless_status_screen/anim_00.pal b/graphics/wireless_status_screen/anim_00.pal new file mode 100644 index 0000000000..7779155a60 --- /dev/null +++ b/graphics/wireless_status_screen/anim_00.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +74 246 255 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_01.pal b/graphics/wireless_status_screen/anim_01.pal new file mode 100644 index 0000000000..30040b471b --- /dev/null +++ b/graphics/wireless_status_screen/anim_01.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +74 246 255 +57 213 230 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_02.pal b/graphics/wireless_status_screen/anim_02.pal new file mode 100644 index 0000000000..3b40e7681a --- /dev/null +++ b/graphics/wireless_status_screen/anim_02.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +74 246 255 +57 213 230 +49 180 205 +0 32 98 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_03.pal b/graphics/wireless_status_screen/anim_03.pal new file mode 100644 index 0000000000..b0756a995d --- /dev/null +++ b/graphics/wireless_status_screen/anim_03.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +74 246 255 +57 213 230 +49 180 205 +41 148 180 +0 32 98 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_04.pal b/graphics/wireless_status_screen/anim_04.pal new file mode 100644 index 0000000000..60916f08c0 --- /dev/null +++ b/graphics/wireless_status_screen/anim_04.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +74 246 255 +57 213 230 +49 180 205 +41 148 180 +24 123 164 +0 32 98 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_05.pal b/graphics/wireless_status_screen/anim_05.pal new file mode 100644 index 0000000000..b59dc5901a --- /dev/null +++ b/graphics/wireless_status_screen/anim_05.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +74 246 255 +57 213 230 +49 180 205 +41 148 180 +24 123 164 +16 90 139 +0 32 98 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_06.pal b/graphics/wireless_status_screen/anim_06.pal new file mode 100644 index 0000000000..3f14d81e79 --- /dev/null +++ b/graphics/wireless_status_screen/anim_06.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 246 255 +57 213 230 +49 180 205 +41 148 180 +24 123 164 +16 90 139 +8 57 115 +0 32 98 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_07.pal b/graphics/wireless_status_screen/anim_07.pal new file mode 100644 index 0000000000..e3da8baa6c --- /dev/null +++ b/graphics/wireless_status_screen/anim_07.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +57 213 230 +49 180 205 +41 148 180 +24 123 164 +16 90 139 +8 57 115 +8 57 115 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_08.pal b/graphics/wireless_status_screen/anim_08.pal new file mode 100644 index 0000000000..1544a23039 --- /dev/null +++ b/graphics/wireless_status_screen/anim_08.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +49 180 205 +41 148 180 +24 123 164 +16 90 139 +8 57 115 +8 57 115 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_09.pal b/graphics/wireless_status_screen/anim_09.pal new file mode 100644 index 0000000000..8d3b1d4bc2 --- /dev/null +++ b/graphics/wireless_status_screen/anim_09.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +41 148 180 +24 123 164 +16 90 139 +8 57 115 +8 57 115 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_10.pal b/graphics/wireless_status_screen/anim_10.pal new file mode 100644 index 0000000000..5ab981ba35 --- /dev/null +++ b/graphics/wireless_status_screen/anim_10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +24 123 164 +16 90 139 +8 57 115 +8 57 115 +90 90 90 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_11.pal b/graphics/wireless_status_screen/anim_11.pal new file mode 100644 index 0000000000..46ad152697 --- /dev/null +++ b/graphics/wireless_status_screen/anim_11.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +16 90 139 +8 57 115 +8 57 115 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_12.pal b/graphics/wireless_status_screen/anim_12.pal new file mode 100644 index 0000000000..d1e4bdd028 --- /dev/null +++ b/graphics/wireless_status_screen/anim_12.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +8 57 115 +8 57 115 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/wireless_status_screen/anim_13.pal b/graphics/wireless_status_screen/anim_13.pal new file mode 100644 index 0000000000..dd11346b72 --- /dev/null +++ b/graphics/wireless_status_screen/anim_13.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics/link/wireless_info_screen.bin b/graphics/wireless_status_screen/bg.bin similarity index 100% rename from graphics/link/wireless_info_screen.bin rename to graphics/wireless_status_screen/bg.bin diff --git a/graphics/wireless_status_screen/bg.png b/graphics/wireless_status_screen/bg.png new file mode 100644 index 0000000000..4c453cf1a0 Binary files /dev/null and b/graphics/wireless_status_screen/bg.png differ diff --git a/graphics/wireless_status_screen/default.pal b/graphics/wireless_status_screen/default.pal new file mode 100644 index 0000000000..dd11346b72 --- /dev/null +++ b/graphics/wireless_status_screen/default.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +90 90 90 +57 57 57 +172 123 0 +90 90 90 +57 57 57 +164 164 164 +255 180 0 +106 106 106 +74 74 74 diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index 8d9db88eaa..a8b945eb98 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -109,40 +109,6 @@ $(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 328 -Wnum_tiles -SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim - -$(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp - @cat $^ >$@ - $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 508 -Wnum_tiles @@ -356,7 +322,7 @@ graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal graphics/pokemon_jump/bg.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 63 -Wnum_tiles -graphics/pokenav/region_map.8bpp: %.8bpp: %.png +graphics/pokenav/region_map/map.8bpp: %.8bpp: %.png $(GFX) $< $@ -num_tiles 233 -Wnum_tiles $(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png @@ -688,7 +654,7 @@ $(WALLPAPERGFXDIR)/whiscash/tiles.4bpp: $(WALLPAPERGFXDIR)/friends_frame2.4bpp $ $(OBJEVENTGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 11 -Wnum_tiles -$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png +$(INTERFACEGFXDIR)/outline_cursor.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 8 -Wnum_tiles $(BATTRANSGFXDIR)/frontier_logo_center.4bpp: %.4bpp: %.png diff --git a/include/bard_music.h b/include/bard_music.h index 2825d16e68..2942fa8e47 100644 --- a/include/bard_music.h +++ b/include/bard_music.h @@ -3,11 +3,11 @@ struct BardSound { - /*0x00*/ u8 var00; - /*0x01*/ s8 var01; - /*0x02*/ u16 var02; + /*0x00*/ u8 songLengthId; + /*0x01*/ s8 songLengthOffset; + /*0x02*/ u16 unused; /*0x04*/ s16 volume; - /*0x06*/ u16 var06; + /*0x06*/ u16 unused2; }; struct BardPhoneme diff --git a/include/battle.h b/include/battle.h index b328b46bb2..a38c28db87 100644 --- a/include/battle.h +++ b/include/battle.h @@ -53,7 +53,7 @@ struct ResourceFlags #define RESOURCE_FLAG_FLASH_FIRE 0x1 #define RESOURCE_FLAG_ROOST 0x2 #define RESOURCE_FLAG_UNBURDEN 0x4 -#define RESOURCE_FLAG_INTIMIDATED 0x8 +#define RESOURCE_FLAG_UNUSED 0x8 #define RESOURCE_FLAG_TRACED 0x10 #define RESOURCE_FLAG_EMERGENCY_EXIT 0x20 #define RESOURCE_FLAG_NEUTRALIZING_GAS 0x40 @@ -155,36 +155,42 @@ struct ProtectStruct struct SpecialStatus { - u8 statLowered:1; - u8 lightningRodRedirected:1; - u8 restoredBattlerSprite: 1; - u8 intimidatedMon:1; - u8 traced:1; - u8 ppNotAffectedByPressure:1; - u8 faintedHasReplacement:1; - u8 focusBanded:1; - u8 focusSashed:1; - u8 sturdied:1; - u8 stormDrainRedirected:1; - u8 switchInAbilityDone:1; - u8 switchInItemDone:1; - u8 instructedChosenTarget:3; - u8 berryReduced:1; - u8 gemBoost:1; - u8 rototillerAffected:1; // to be affected by rototiller - u8 gemParam; - u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute. - u8 dancerUsedMove:1; - u8 dancerOriginalTarget:3; - u8 announceNeutralizingGas:1; // See Cmd_switchineffects - u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS - u8 affectionEndured:1; s32 dmg; s32 physicalDmg; s32 specialDmg; u8 physicalBattlerId; u8 specialBattlerId; u8 changedStatsBattlerId; // Battler that was responsible for the latest stat change. Can be self. + u8 statLowered:1; + u8 lightningRodRedirected:1; + u8 restoredBattlerSprite: 1; + u8 traced:1; + u8 ppNotAffectedByPressure:1; + u8 faintedHasReplacement:1; + u8 focusBanded:1; + u8 focusSashed:1; + // End of byte + u8 sturdied:1; + u8 stormDrainRedirected:1; + u8 switchInAbilityDone:1; + u8 switchInItemDone:1; + u8 instructedChosenTarget:3; + u8 berryReduced:1; + // End of byte + u8 gemParam; + // End of byte + u8 gemBoost:1; + u8 rototillerAffected:1; // to be affected by rototiller + u8 parentalBondState:2; + u8 multiHitOn:1; + u8 announceNeutralizingGas:1; // See Cmd_switchineffects + u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS + u8 affectionEndured:1; + // End of byte + u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute. + u8 dancerUsedMove:1; + u8 dancerOriginalTarget:3; + // End of byte }; struct SideTimer @@ -235,7 +241,7 @@ struct WishFutureKnock u8 wishCounter[MAX_BATTLERS_COUNT]; u8 wishPartyId[MAX_BATTLERS_COUNT]; u8 weatherDuration; - u8 knockedOffMons[2]; // Each battler is represented by a bit. The array entry is dependent on the battler's side. + u8 knockedOffMons[NUM_BATTLE_SIDES]; // Each battler is represented by a bit. }; struct AI_SavedBattleMon @@ -446,9 +452,9 @@ struct BattleTv_Mon struct BattleTv { - struct BattleTv_Mon mon[2][PARTY_SIZE]; // [side][partyId] - struct BattleTv_Position pos[2][2]; // [side][flank] - struct BattleTv_Side side[2]; // [side] + struct BattleTv_Mon mon[NUM_BATTLE_SIDES][PARTY_SIZE]; + struct BattleTv_Position pos[NUM_BATTLE_SIDES][2]; // [side][flank] + struct BattleTv_Side side[NUM_BATTLE_SIDES]; }; struct BattleTvMovePoints @@ -565,20 +571,19 @@ struct BattleStruct u8 wallyWaitFrames; u8 wallyMoveFrames; u16 lastTakenMove[MAX_BATTLERS_COUNT]; // Last move that a battler was hit with. - u16 hpOnSwitchout[2]; + u16 hpOnSwitchout[NUM_BATTLE_SIDES]; u32 savedBattleTypeFlags; u16 abilityPreventingSwitchout; u8 hpScale; u16 synchronizeMoveEffect; bool8 anyMonHasTransformed; void (*savedCallback)(void); - u16 usedHeldItems[PARTY_SIZE][2]; // For each party member and side. For harvest, recycle + u16 usedHeldItems[PARTY_SIZE][NUM_BATTLE_SIDES]; // For each party member and side. For harvest, recycle u16 chosenItem[MAX_BATTLERS_COUNT]; u8 AI_itemType[2]; u8 AI_itemFlags[2]; u16 choicedMove[MAX_BATTLERS_COUNT]; u16 changedItems[MAX_BATTLERS_COUNT]; - u8 intimidateBattler; u8 switchInItemsCounter; u8 arenaTurnCounter; u8 turnSideTracker; @@ -606,7 +611,7 @@ struct BattleStruct u8 debugBattler; u8 magnitudeBasePower; u8 presentBasePower; - u8 roostTypes[MAX_BATTLERS_COUNT][3]; + u8 roostTypes[MAX_BATTLERS_COUNT][2]; u8 savedBattlerTarget; bool8 ateBoost[MAX_BATTLERS_COUNT]; u8 activeAbilityPopUps; // as bits for each battler @@ -911,8 +916,8 @@ extern u16 gMoveResultFlags; extern u32 gHitMarker; extern u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT]; extern u8 gUnusedFirstBattleVar2; -extern u32 gSideStatuses[2]; -extern struct SideTimer gSideTimers[2]; +extern u32 gSideStatuses[NUM_BATTLE_SIDES]; +extern struct SideTimer gSideTimers[NUM_BATTLE_SIDES]; extern u32 gStatuses3[MAX_BATTLERS_COUNT]; extern u32 gStatuses4[MAX_BATTLERS_COUNT]; extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT]; diff --git a/include/battle_bg.h b/include/battle_bg.h index d0110efa2a..1b32c7395d 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -1,7 +1,6 @@ #ifndef GUARD_BATTLE_BG_H #define GUARD_BATTLE_BG_H -#if P_ENABLE_DEBUG == TRUE struct BattleBackground { const void *tileset; @@ -10,7 +9,6 @@ struct BattleBackground const void *entryTilemap; const void *palette; }; -#endif void BattleInitBgsAndWindows(void); void InitBattleBgsVideo(void); diff --git a/include/battle_message.h b/include/battle_message.h index 5cbf8f522b..9f6905abd3 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,8 +1,6 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H -#include "constants/battle_config.h" - #if B_EXPANDED_ABILITY_NAMES == TRUE #define TEXT_BUFF_ARRAY_COUNT 17 #else diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2d6364fb96..75afdbf633 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -152,7 +152,6 @@ extern const u8 BattleScript_ShedSkinActivates[]; extern const u8 BattleScript_WeatherFormChanges[]; extern const u8 BattleScript_WeatherFormChangesLoop[]; extern const u8 BattleScript_WeatherFormChange[]; -extern const u8 BattleScript_IntimidateActivatesEnd3[]; extern const u8 BattleScript_IntimidateActivates[]; extern const u8 BattleScript_DroughtActivates[]; extern const u8 BattleScript_TookAttack[]; @@ -216,6 +215,7 @@ extern const u8 BattleScript_BerryConfuseHealEnd2[]; extern const u8 BattleScript_BerryConfuseHealRet[]; extern const u8 BattleScript_BerryStatRaiseEnd2[]; extern const u8 BattleScript_BerryStatRaiseRet[]; +extern const u8 BattleScript_BerryFocusEnergyRet[]; extern const u8 BattleScript_BerryFocusEnergyEnd2[]; extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; extern const u8 BattleScript_ArenaTurnBeginning[]; @@ -429,6 +429,10 @@ extern const u8 BattleScript_DefDownSpeedUp[]; extern const u8 BattleScript_AffectionBasedStatusHeal[]; extern const u8 BattleScript_AffectionBasedEndurance[]; extern const u8 BattleScript_SymbiosisActivates[]; +extern const u8 BattleScript_MultiHitPrintStrings[]; +extern const u8 BattleScript_BurnUpRemoveType[]; +extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; +extern const u8 BattleScript_DoubleShockRemoveType[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index 28a488472d..257b5a7433 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -29,13 +29,11 @@ #define ABILITYEFFECT_WEATHER_FORM 7 #define ABILITYEFFECT_SYNCHRONIZE 8 #define ABILITYEFFECT_ATK_SYNCHRONIZE 9 -#define ABILITYEFFECT_INTIMIDATE1 10 -#define ABILITYEFFECT_INTIMIDATE2 11 -#define ABILITYEFFECT_TRACE1 12 -#define ABILITYEFFECT_TRACE2 13 -#define ABILITYEFFECT_MOVE_END_OTHER 14 -#define ABILITYEFFECT_NEUTRALIZINGGAS 15 -#define ABILITYEFFECT_FIELD_SPORT 16 // Only used if B_SPORT_TURNS < GEN_6 +#define ABILITYEFFECT_TRACE1 10 +#define ABILITYEFFECT_TRACE2 11 +#define ABILITYEFFECT_MOVE_END_OTHER 12 +#define ABILITYEFFECT_NEUTRALIZINGGAS 13 +#define ABILITYEFFECT_FIELD_SPORT 14 // Only used if B_SPORT_TURNS < GEN_6 // Special cases #define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS < GEN_6 #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS < GEN_6 @@ -51,7 +49,7 @@ #define ITEMEFFECT_TARGET 5 #define ITEMEFFECT_ORBS 6 #define ITEMEFFECT_LIFEORB_SHELLBELL 7 -#define ITEMEFFECT_BATTLER_MOVE_END 8 // move end effects for just the battler, not whole field +#define ITEMEFFECT_USE_LAST_ITEM 8 // move end effects for just the battler, not whole field #define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) @@ -186,6 +184,7 @@ void TryToRevertMimicry(void); void RestoreBattlerOriginalTypes(u8 battlerId); u32 GetBattlerMoveTargetType(u8 battlerId, u16 move); bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move); +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId); // Ability checks bool32 IsRolePlayBannedAbilityAtk(u16 ability); bool32 IsRolePlayBannedAbility(u16 ability); @@ -202,6 +201,6 @@ bool32 CanBeParalyzed(u8 battlerId); bool32 CanBeFrozen(u8 battlerId); bool32 CanBeConfused(u8 battlerId); bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag); -u32 GetMonFriendshipScore(struct Pokemon *pokemon); +u32 GetBattlerFriendshipScore(u8 battlerId); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/config.h b/include/config.h index ad8b3268fc..3a24617174 100644 --- a/include/config.h +++ b/include/config.h @@ -70,6 +70,7 @@ #define GEN_6 3 #define GEN_7 4 #define GEN_8 5 +#define GEN_9 6 #define GEN_LATEST GEN_8 #endif // GUARD_CONFIG_H diff --git a/include/constants/battle_config.h b/include/config/battle.h similarity index 95% rename from include/constants/battle_config.h rename to include/config/battle.h index 0a7ba2303f..47a2acee47 100644 --- a/include/constants/battle_config.h +++ b/include/config/battle.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_BATTLE_CONFIG_H -#define GUARD_CONSTANTS_BATTLE_CONFIG_H +#ifndef GUARD_CONFIG_BATTLE_H +#define GUARD_CONFIG_BATTLE_H // Calculation settings #define B_CRIT_CHANCE GEN_LATEST // Chances of a critical hit landing. See CalcCritChanceStage. Gen6+ chances guarantee that Farfetch'd and Sirfetch'd always get critical hits while holding a Leek and using high-crit ratio moves. @@ -29,6 +29,7 @@ #define B_KNOCK_OFF_DMG GEN_LATEST // In Gen6+, Knock Off deals 50% more damage when knocking off an item. #define B_SPORT_DMG_REDUCTION GEN_LATEST // In Gen5+, Water/Mud Sport reduce Fire/Electric Damage by 67% instead of 50%. #define B_EXPLOSION_DEFENSE GEN_LATEST // In Gen5+, Self-Destruct and Explosion don't halve the targets' defense. +#define B_PARENTAL_BOND_DMG GEN_LATEST // In Gen7+, Parental Bond's second hit does 25% of the initial hits damage. Before, it did 50%. // Type settings #define B_GHOSTS_ESCAPE GEN_LATEST // In Gen6+, abilities like Shadow Tag or moves like Mean Look fail on Ghost-type Pokémon. They can also escape any Wild Battle. @@ -37,6 +38,7 @@ #define B_STEEL_RESISTANCES GEN_LATEST // In Gen6+, Steel-type Pokémon are no longer resistant to Dark-type and Ghost-type moves. #define B_PRANKSTER_DARK_TYPES GEN_LATEST // In Gen7+, Prankster-elevated status moves do not affect Dark type Pokémon. #define B_SHEER_COLD_IMMUNITY GEN_LATEST // In Gen7+, Ice-types are immune to Sheer Cold +#define B_ROOST_PURE_FLYING GEN_LATEST // In Gen5+, Roost makes pure Flying-types into Normal-type. // Turn settings #define B_BINDING_TURNS GEN_LATEST // In Gen5+, binding moves last for 4-5 turns instead of 2-5 turns. (With Grip Claw, 7 and 5 turns respectively.) @@ -89,6 +91,8 @@ #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_BEAT_UP GEN_LATEST // In Gen5+, Beat Up uses a different formula to calculate its damage, and deals Dark-type damage. Prior to Gen 5, each hit also announces the party member's name. +#define B_DARK_VOID_FAIL GEN_LATEST // In Gen7+, only Darkrai can use Dark Void. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. @@ -160,6 +164,7 @@ #define B_SHOW_SPLIT_ICON TRUE // If set to TRUE, it will show an icon in the summary showing the move's category split. #define B_HIDE_HEALTHBOX_IN_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations. #define B_EXPANDED_MOVE_NAMES FALSE // If set to TRUE, move names are increased from 12 characters to 16 characters. +#define B_WAIT_TIME_MULTIPLIER 16 // This determines how long text pauses in battle last. Vanilla is 16. Lower values result in faster battles. // Catching settings #define B_SEMI_INVULNERABLE_CATCH GEN_LATEST // In Gen4+, you cannot throw a ball against a Pokemon that is in a semi-invulnerable state (dig/fly/etc) @@ -174,6 +179,7 @@ #define B_EVOLUTION_AFTER_WHITEOUT GEN_LATEST // In Gen6+, Pokemon that qualify for evolution after battle will evolve even if the player loses. #define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper) #define B_AFFECTION_MECHANICS FALSE // In Gen6+, there's a stat called affection that can trigger different effects in battle. From LGPE onwards, those effects use friendship instead. +#define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class. // Animation Settings #define B_NEW_SWORD_PARTICLE FALSE // If set to TRUE, it updates Swords Dance's particle. @@ -192,6 +198,4 @@ #define B_NEW_IMPACT_PALETTE FALSE // If set to TRUE, it updates the basic 'hit' palette. #define B_NEW_SURF_PARTICLE_PALETTE FALSE // If set to TRUE, it updates Surf's wave palette. -#define B_ENABLE_DEBUG TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button. - -#endif // GUARD_CONSTANTS_BATTLE_CONFIG_H +#endif // GUARD_CONFIG_BATTLE_H diff --git a/include/config/debug.h b/include/config/debug.h new file mode 100644 index 0000000000..b427fcb513 --- /dev/null +++ b/include/config/debug.h @@ -0,0 +1,21 @@ +#ifndef GUARD_CONFIG_DEBUG_H +#define GUARD_CONFIG_DEBUG_H + +// Overworld Debug +#define DEBUG_OVERWORLD_MENU TRUE // Enables a overworld debug menu for changing flags, variables, giving pokemon and more, accessed by holding R and pressing START while in the overworld by default. +#define DEBUG_OVERWORLD_HELD_KEYS (R_BUTTON) // The keys required to be held to open the debug menu. +#define DEBUG_OVERWORLD_TRIGGER_EVENT pressedStartButton // The event that opens the menu when holding the key(s) defined in DEBUG_OVERWORLD_HELD_KEYS. +#define DEBUG_OVERWORLD_IN_MENU FALSE // Replaces the overworld debug menu button combination with a start menu entry (above Pokédex). + +// Debug Flags +// To use the following debug features, replace the 0s with the flag ID you're assigning it to. +// Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. +#define DEBUG_FLAG_NO_COLLISION 0 // If this flag is set, the debug function in the Utility submenu to disable player collision can be used. + +// Battle Debug Menu +#define DEBUG_BATTLE_MENU TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button. + +// Pokémon Debug +#define DEBUG_POKEMON_MENU TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. + +#endif // GUARD_CONFIG_DEBUG_H diff --git a/include/constants/item_config.h b/include/config/item.h similarity index 56% rename from include/constants/item_config.h rename to include/config/item.h index 9261241a5f..031af37241 100644 --- a/include/constants/item_config.h +++ b/include/config/item.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_ITEM_CONFIG_H -#define GUARD_CONSTANTS_ITEM_CONFIG_H +#ifndef GUARD_CONFIG_ITEM_H +#define GUARD_CONFIG_ITEM_H // Item config #define I_SHINY_CHARM_REROLLS 3 // Amount of re-rolls if the player has the Shiny Charm. Set to 0 to disable Shiny Charm's effects. @@ -9,4 +9,9 @@ #define I_SITRUS_BERRY_HEAL GEN_LATEST // In Gen4+, Sitrus Berry was changed from healing 30 HP to healing 25% of Max HP. #define I_VITAMIN_EV_CAP GEN_LATEST // In Gen8, the Vitamins no longer have a cap of 100 EV per stat. -#endif // GUARD_CONSTANTS_ITEM_CONFIG_H +// Repel/Lure config +// These two settings are both independent and complementary. +#define VAR_LAST_REPEL_LURE_USED 0 // If this var has been assigned, last Repel/Lure used will be saved and the player will get prompted with the vanilla repel YES/NO option, unless I_REPEL_LURE_MENU is set to TRUE. +#define I_REPEL_LURE_MENU TRUE // If TRUE, the player is able to choose which Repel/Lure to use once the previous one runs out. Cursor position is saved by VAR_LAST_REPEL_LURE_USED if not 0. + +#endif // GUARD_CONFIG_ITEM_H diff --git a/include/config/overworld.h b/include/config/overworld.h new file mode 100644 index 0000000000..fb438431b3 --- /dev/null +++ b/include/config/overworld.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONFIG_OVERWORLD_H +#define GUARD_CONFIG_OVERWORLD_H + +// Movement config +#define OW_RUNNING_INDOORS GEN_LATEST // In Gen4+, players are allowed to run indoors. + +// Overworld flags +// To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. +// Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. +#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. +#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. + +#endif // GUARD_CONFIG_OVERWORLD_H diff --git a/include/constants/pokemon_config.h b/include/config/pokemon.h similarity index 74% rename from include/constants/pokemon_config.h rename to include/config/pokemon.h index 22825e40d8..81772f98e8 100644 --- a/include/constants/pokemon_config.h +++ b/include/config/pokemon.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_POKEMON_CONFIG_H -#define GUARD_CONSTANTS_POKEMON_CONFIG_H +#ifndef GUARD_CONFIG_POKEMON_H +#define GUARD_CONFIG_POKEMON_H #define P_UPDATED_TYPES GEN_LATEST // Since Gen 6, several Pokémon were changed to be partially or fully Fairy type. #define P_UPDATED_STATS GEN_LATEST // Since Gen 6, Pokémon stats are updated with each passing generation. @@ -9,8 +9,15 @@ #define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs. #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_SHINY_BASE_CHANCE GEN_LATEST // Since Gen 6, the base chances of encountering a Shiny Pokémon was raised to 1/4096. This config adds an extra roll to the calculation, which effectively does the same thing. #define P_HIPPO_GENDER_DIFF_ICONS TRUE // If TRUE, will give Hippopotas and Hippowdon custom icons for their female forms. +// Flag settings +// To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. +// Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. +#define P_FLAG_FORCE_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into being Shiny. +#define P_FLAG_FORCE_NO_SHINY 0 // If this flag is set, all wild and gift Pokémon will forced into NOT being Shiny. + // 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), @@ -21,6 +28,4 @@ #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. - -#endif // GUARD_CONSTANTS_POKEMON_CONFIG_H +#endif // GUARD_CONFIG_POKEMON_H diff --git a/include/constants/battle.h b/include/constants/battle.h index e2ea128c25..be44c21cbe 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -36,6 +36,7 @@ #define B_SIDE_PLAYER 0 #define B_SIDE_OPPONENT 1 +#define NUM_BATTLE_SIDES 2 #define B_FLANK_LEFT 0 #define B_FLANK_RIGHT 1 @@ -78,6 +79,11 @@ #define BATTLE_TYPE_RECORDED_IS_MASTER (1 << 31) #define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID) #define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE) +#define BATTLE_TYPE_RECORDED_INVALID ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ + | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ + | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ + | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \ + | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) #define WILD_DOUBLE_BATTLE ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER)))) #define BATTLE_TWO_VS_ONE_OPPONENT ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gTrainerBattleOpponent_B == 0xFFFF)) @@ -293,83 +299,80 @@ #define ENUM_WEATHER_STRONG_WINDS 7 // Move Effects -#define MOVE_EFFECT_SLEEP 0x1 -#define MOVE_EFFECT_POISON 0x2 -#define MOVE_EFFECT_BURN 0x3 -#define MOVE_EFFECT_FREEZE 0x4 -#define MOVE_EFFECT_PARALYSIS 0x5 -#define MOVE_EFFECT_TOXIC 0x6 +#define MOVE_EFFECT_SLEEP 1 +#define MOVE_EFFECT_POISON 2 +#define MOVE_EFFECT_BURN 3 +#define MOVE_EFFECT_FREEZE 4 +#define MOVE_EFFECT_PARALYSIS 5 +#define MOVE_EFFECT_TOXIC 6 #define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_TOXIC // All above move effects apply primary status -#define MOVE_EFFECT_CONFUSION 0x7 -#define MOVE_EFFECT_FLINCH 0x8 -#define MOVE_EFFECT_TRI_ATTACK 0x9 -#define MOVE_EFFECT_UPROAR 0xA -#define MOVE_EFFECT_PAYDAY 0xB -#define MOVE_EFFECT_CHARGING 0xC -#define MOVE_EFFECT_WRAP 0xD -#define MOVE_EFFECT_RECOIL_25 0xE -#define MOVE_EFFECT_ATK_PLUS_1 0xF -#define MOVE_EFFECT_DEF_PLUS_1 0x10 -#define MOVE_EFFECT_SPD_PLUS_1 0x11 -#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12 -#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13 -#define MOVE_EFFECT_ACC_PLUS_1 0x14 -#define MOVE_EFFECT_EVS_PLUS_1 0x15 -#define MOVE_EFFECT_ATK_MINUS_1 0x16 -#define MOVE_EFFECT_DEF_MINUS_1 0x17 -#define MOVE_EFFECT_SPD_MINUS_1 0x18 -#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19 -#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A -#define MOVE_EFFECT_ACC_MINUS_1 0x1B -#define MOVE_EFFECT_EVS_MINUS_1 0x1C -#define MOVE_EFFECT_RECHARGE 0x1D -#define MOVE_EFFECT_RAGE 0x1E -#define MOVE_EFFECT_STEAL_ITEM 0x1F -#define MOVE_EFFECT_PREVENT_ESCAPE 0x20 -#define MOVE_EFFECT_NIGHTMARE 0x21 -#define MOVE_EFFECT_ALL_STATS_UP 0x22 -#define MOVE_EFFECT_RAPIDSPIN 0x23 -#define MOVE_EFFECT_REMOVE_STATUS 0x24 -#define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_RECOIL_33 0x26 -#define MOVE_EFFECT_ATK_PLUS_2 0x27 -#define MOVE_EFFECT_DEF_PLUS_2 0x28 -#define MOVE_EFFECT_SPD_PLUS_2 0x29 -#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A -#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B -#define MOVE_EFFECT_ACC_PLUS_2 0x2C -#define MOVE_EFFECT_EVS_PLUS_2 0x2D -#define MOVE_EFFECT_ATK_MINUS_2 0x2E -#define MOVE_EFFECT_DEF_MINUS_2 0x2F -#define MOVE_EFFECT_SPD_MINUS_2 0x30 -#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31 -#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32 -#define MOVE_EFFECT_ACC_MINUS_2 0x33 -#define MOVE_EFFECT_EVS_MINUS_2 0x34 -#define MOVE_EFFECT_THRASH 0x35 -#define MOVE_EFFECT_KNOCK_OFF 0x36 -#define MOVE_EFFECT_DEF_SPDEF_DOWN 0x37 -#define MOVE_EFFECT_RECOIL_33_STATUS 0x38 -#define MOVE_EFFECT_RECOIL_50 0x39 -#define MOVE_EFFECT_CLEAR_SMOG 0x3A -#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B -#define MOVE_EFFECT_SMACK_DOWN 0x3C -#define MOVE_EFFECT_FLAME_BURST 0x3D -#define MOVE_EFFECT_FEINT 0x3E -#define MOVE_EFFECT_SPECTRAL_THIEF 0x3F -#define MOVE_EFFECT_V_CREATE 0x40 -#define MOVE_EFFECT_HAPPY_HOUR 0x41 -#define MOVE_EFFECT_CORE_ENFORCER 0x42 -#define MOVE_EFFECT_THROAT_CHOP 0x43 -#define MOVE_EFFECT_INCINERATE 0x44 -#define MOVE_EFFECT_BUG_BITE 0x45 -#define MOVE_EFFECT_RECOIL_HP_25 0x46 -#define MOVE_EFFECT_RELIC_SONG 0x47 -#define MOVE_EFFECT_TRAP_BOTH 0x48 -#define MOVE_EFFECT_SKY_DROP 0x49 -#define MOVE_EFFECT_SCALE_SHOT 0x4A +#define MOVE_EFFECT_CONFUSION 7 +#define MOVE_EFFECT_FLINCH 8 +#define MOVE_EFFECT_TRI_ATTACK 9 +#define MOVE_EFFECT_UPROAR 10 +#define MOVE_EFFECT_PAYDAY 11 +#define MOVE_EFFECT_CHARGING 12 +#define MOVE_EFFECT_WRAP 13 +#define MOVE_EFFECT_BURN_UP 14 // MOVE_EFFECT_BURN_UP replaces unused MOVE_EFFECT_RECOIL_25 so that stat change animations don't break +#define MOVE_EFFECT_ATK_PLUS_1 15 +#define MOVE_EFFECT_DEF_PLUS_1 16 +#define MOVE_EFFECT_SPD_PLUS_1 17 +#define MOVE_EFFECT_SP_ATK_PLUS_1 18 +#define MOVE_EFFECT_SP_DEF_PLUS_1 19 +#define MOVE_EFFECT_ACC_PLUS_1 20 +#define MOVE_EFFECT_EVS_PLUS_1 21 +#define MOVE_EFFECT_ATK_MINUS_1 22 +#define MOVE_EFFECT_DEF_MINUS_1 23 +#define MOVE_EFFECT_SPD_MINUS_1 24 +#define MOVE_EFFECT_SP_ATK_MINUS_1 25 +#define MOVE_EFFECT_SP_DEF_MINUS_1 26 +#define MOVE_EFFECT_ACC_MINUS_1 27 +#define MOVE_EFFECT_EVS_MINUS_1 28 +#define MOVE_EFFECT_RECHARGE 29 +#define MOVE_EFFECT_RAGE 30 +#define MOVE_EFFECT_STEAL_ITEM 31 +#define MOVE_EFFECT_PREVENT_ESCAPE 32 +#define MOVE_EFFECT_NIGHTMARE 33 +#define MOVE_EFFECT_ALL_STATS_UP 34 +#define MOVE_EFFECT_RAPIDSPIN 35 +#define MOVE_EFFECT_REMOVE_STATUS 36 +#define MOVE_EFFECT_ATK_DEF_DOWN 37 +#define MOVE_EFFECT_SCALE_SHOT 38 // MOVE_EFFECT_SCALE_SHOT replaces unused MOVE_EFFECT_RECOIL_33 so that stat change animations don't break +#define MOVE_EFFECT_ATK_PLUS_2 39 +#define MOVE_EFFECT_DEF_PLUS_2 40 +#define MOVE_EFFECT_SPD_PLUS_2 41 +#define MOVE_EFFECT_SP_ATK_PLUS_2 42 +#define MOVE_EFFECT_SP_DEF_PLUS_2 43 +#define MOVE_EFFECT_ACC_PLUS_2 44 +#define MOVE_EFFECT_EVS_PLUS_2 45 +#define MOVE_EFFECT_ATK_MINUS_2 46 +#define MOVE_EFFECT_DEF_MINUS_2 47 +#define MOVE_EFFECT_SPD_MINUS_2 48 +#define MOVE_EFFECT_SP_ATK_MINUS_2 49 +#define MOVE_EFFECT_SP_DEF_MINUS_2 50 +#define MOVE_EFFECT_ACC_MINUS_2 51 +#define MOVE_EFFECT_EVS_MINUS_2 52 +#define MOVE_EFFECT_THRASH 53 +#define MOVE_EFFECT_KNOCK_OFF 54 +#define MOVE_EFFECT_DEF_SPDEF_DOWN 55 +#define MOVE_EFFECT_CLEAR_SMOG 56 +#define MOVE_EFFECT_SP_ATK_TWO_DOWN 57 +#define MOVE_EFFECT_SMACK_DOWN 58 +#define MOVE_EFFECT_FLAME_BURST 59 +#define MOVE_EFFECT_FEINT 60 +#define MOVE_EFFECT_SPECTRAL_THIEF 61 +#define MOVE_EFFECT_V_CREATE 62 +#define MOVE_EFFECT_HAPPY_HOUR 63 +#define MOVE_EFFECT_CORE_ENFORCER 64 +#define MOVE_EFFECT_THROAT_CHOP 65 +#define MOVE_EFFECT_INCINERATE 66 +#define MOVE_EFFECT_BUG_BITE 67 +#define MOVE_EFFECT_RECOIL_HP_25 68 +#define MOVE_EFFECT_RELIC_SONG 69 +#define MOVE_EFFECT_TRAP_BOTH 70 +#define MOVE_EFFECT_DOUBLE_SHOCK 71 -#define NUM_MOVE_EFFECTS 0x4B +#define NUM_MOVE_EFFECTS 72 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 @@ -401,10 +404,10 @@ #define BATTLE_TERRAIN_COUNT 22 -#define B_WAIT_TIME_LONG 64 -#define B_WAIT_TIME_MED 48 -#define B_WAIT_TIME_SHORT 32 -#define B_WAIT_TIME_SHORTEST 16 +#define B_WAIT_TIME_LONG (B_WAIT_TIME_MULTIPLIER * 4) +#define B_WAIT_TIME_MED (B_WAIT_TIME_MULTIPLIER * 3) +#define B_WAIT_TIME_SHORT (B_WAIT_TIME_MULTIPLIER * 2) +#define B_WAIT_TIME_SHORTEST (B_WAIT_TIME_MULTIPLIER) #define CHERRIM_OVERCAST 0 #define CHERRIM_SUNSHINE 1 @@ -483,4 +486,9 @@ // For the second argument of GetMoveTarget, when no target override is needed #define NO_TARGET_OVERRIDE 0 +// Constants for Parental Bond +#define PARENTAL_BOND_1ST_HIT 2 +#define PARENTAL_BOND_2ND_HIT 1 +#define PARENTAL_BOND_OFF 0 + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index f217ecd33a..5af1017a9d 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -1,402 +1,403 @@ #ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H #define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H -#define EFFECT_HIT 0 -#define EFFECT_SLEEP 1 -#define EFFECT_POISON_HIT 2 -#define EFFECT_ABSORB 3 -#define EFFECT_BURN_HIT 4 -#define EFFECT_FREEZE_HIT 5 -#define EFFECT_PARALYZE_HIT 6 -#define EFFECT_EXPLOSION 7 -#define EFFECT_DREAM_EATER 8 -#define EFFECT_MIRROR_MOVE 9 -#define EFFECT_ATTACK_UP 10 -#define EFFECT_DEFENSE_UP 11 -#define EFFECT_SPEED_UP 12 -#define EFFECT_SPECIAL_ATTACK_UP 13 -#define EFFECT_SPECIAL_DEFENSE_UP 14 -#define EFFECT_ACCURACY_UP 15 -#define EFFECT_EVASION_UP 16 -#define EFFECT_SPECIAL_ATTACK_UP_3 17 -#define EFFECT_ATTACK_DOWN 18 -#define EFFECT_DEFENSE_DOWN 19 -#define EFFECT_SPEED_DOWN 20 -#define EFFECT_SPECIAL_ATTACK_DOWN 21 -#define EFFECT_SPECIAL_DEFENSE_DOWN 22 -#define EFFECT_ACCURACY_DOWN 23 -#define EFFECT_EVASION_DOWN 24 -#define EFFECT_HAZE 25 -#define EFFECT_BIDE 26 -#define EFFECT_RAMPAGE 27 -#define EFFECT_ROAR 28 -#define EFFECT_MULTI_HIT 29 -#define EFFECT_CONVERSION 30 -#define EFFECT_FLINCH_HIT 31 -#define EFFECT_RESTORE_HP 32 -#define EFFECT_TOXIC 33 -#define EFFECT_PAY_DAY 34 -#define EFFECT_LIGHT_SCREEN 35 -#define EFFECT_TRI_ATTACK 36 -#define EFFECT_REST 37 -#define EFFECT_OHKO 38 -#define EFFECT_FUSION_COMBO 39 -#define EFFECT_SUPER_FANG 40 -#define EFFECT_DRAGON_RAGE 41 -#define EFFECT_TRAP 42 -#define EFFECT_HEAL_BLOCK 43 -#define EFFECT_DOUBLE_HIT 44 -#define EFFECT_RECOIL_IF_MISS 45 -#define EFFECT_MIST 46 -#define EFFECT_FOCUS_ENERGY 47 -#define EFFECT_RECOIL_25 48 -#define EFFECT_CONFUSE 49 -#define EFFECT_ATTACK_UP_2 50 -#define EFFECT_DEFENSE_UP_2 51 -#define EFFECT_SPEED_UP_2 52 -#define EFFECT_SPECIAL_ATTACK_UP_2 53 -#define EFFECT_SPECIAL_DEFENSE_UP_2 54 -#define EFFECT_ACCURACY_UP_2 55 -#define EFFECT_EVASION_UP_2 56 -#define EFFECT_TRANSFORM 57 -#define EFFECT_ATTACK_DOWN_2 58 -#define EFFECT_DEFENSE_DOWN_2 59 -#define EFFECT_SPEED_DOWN_2 60 -#define EFFECT_SPECIAL_ATTACK_DOWN_2 61 -#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62 -#define EFFECT_ACCURACY_DOWN_2 63 -#define EFFECT_EVASION_DOWN_2 64 -#define EFFECT_REFLECT 65 -#define EFFECT_POISON 66 -#define EFFECT_PARALYZE 67 -#define EFFECT_ATTACK_DOWN_HIT 68 -#define EFFECT_DEFENSE_DOWN_HIT 69 -#define EFFECT_SPEED_DOWN_HIT 70 -#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72 -#define EFFECT_ACCURACY_DOWN_HIT 73 -#define EFFECT_EVASION_DOWN_HIT 74 -#define EFFECT_TWO_TURNS_ATTACK 75 -#define EFFECT_CONFUSE_HIT 76 -#define EFFECT_TWINEEDLE 77 -#define EFFECT_VITAL_THROW 78 -#define EFFECT_SUBSTITUTE 79 -#define EFFECT_RECHARGE 80 -#define EFFECT_RAGE 81 -#define EFFECT_MIMIC 82 -#define EFFECT_METRONOME 83 -#define EFFECT_LEECH_SEED 84 -#define EFFECT_DO_NOTHING 85 -#define EFFECT_DISABLE 86 -#define EFFECT_LEVEL_DAMAGE 87 -#define EFFECT_PSYWAVE 88 -#define EFFECT_COUNTER 89 -#define EFFECT_ENCORE 90 -#define EFFECT_PAIN_SPLIT 91 -#define EFFECT_SNORE 92 -#define EFFECT_CONVERSION_2 93 -#define EFFECT_LOCK_ON 94 -#define EFFECT_SKETCH 95 -#define EFFECT_HAMMER_ARM 96 -#define EFFECT_SLEEP_TALK 97 -#define EFFECT_DESTINY_BOND 98 -#define EFFECT_FLAIL 99 -#define EFFECT_SPITE 100 -#define EFFECT_FALSE_SWIPE 101 -#define EFFECT_HEAL_BELL 102 -#define EFFECT_ALWAYS_CRIT 103 -#define EFFECT_TRIPLE_KICK 104 -#define EFFECT_THIEF 105 -#define EFFECT_MEAN_LOOK 106 -#define EFFECT_NIGHTMARE 107 -#define EFFECT_MINIMIZE 108 -#define EFFECT_CURSE 109 -#define EFFECT_HEALING_WISH 110 -#define EFFECT_PROTECT 111 -#define EFFECT_SPIKES 112 -#define EFFECT_FORESIGHT 113 -#define EFFECT_PERISH_SONG 114 -#define EFFECT_SANDSTORM 115 -#define EFFECT_ENDURE 116 -#define EFFECT_ROLLOUT 117 -#define EFFECT_SWAGGER 118 -#define EFFECT_FURY_CUTTER 119 -#define EFFECT_ATTRACT 120 -#define EFFECT_RETURN 121 -#define EFFECT_PRESENT 122 -#define EFFECT_FRUSTRATION 123 -#define EFFECT_SAFEGUARD 124 -#define EFFECT_UNUSED_125 125 -#define EFFECT_MAGNITUDE 126 -#define EFFECT_BATON_PASS 127 -#define EFFECT_PURSUIT 128 -#define EFFECT_RAPID_SPIN 129 -#define EFFECT_SONICBOOM 130 -#define EFFECT_CAPTIVATE 131 -#define EFFECT_MORNING_SUN 132 -#define EFFECT_SYNTHESIS 133 -#define EFFECT_MOONLIGHT 134 -#define EFFECT_HIDDEN_POWER 135 -#define EFFECT_RAIN_DANCE 136 -#define EFFECT_SUNNY_DAY 137 -#define EFFECT_DEFENSE_UP_HIT 138 -#define EFFECT_ATTACK_UP_HIT 139 -#define EFFECT_ALL_STATS_UP_HIT 140 -#define EFFECT_FELL_STINGER 141 -#define EFFECT_BELLY_DRUM 142 -#define EFFECT_PSYCH_UP 143 -#define EFFECT_MIRROR_COAT 144 -#define EFFECT_SKULL_BASH 145 -#define EFFECT_TWISTER 146 -#define EFFECT_EARTHQUAKE 147 -#define EFFECT_FUTURE_SIGHT 148 -#define EFFECT_GUST 149 -#define EFFECT_FLINCH_MINIMIZE_HIT 150 -#define EFFECT_SOLAR_BEAM 151 -#define EFFECT_THUNDER 152 -#define EFFECT_TELEPORT 153 -#define EFFECT_BEAT_UP 154 -#define EFFECT_SEMI_INVULNERABLE 155 -#define EFFECT_DEFENSE_CURL 156 -#define EFFECT_SOFTBOILED 157 -#define EFFECT_FAKE_OUT 158 -#define EFFECT_UPROAR 159 -#define EFFECT_STOCKPILE 160 -#define EFFECT_SPIT_UP 161 -#define EFFECT_SWALLOW 162 -#define EFFECT_WORRY_SEED 163 -#define EFFECT_HAIL 164 -#define EFFECT_TORMENT 165 -#define EFFECT_FLATTER 166 -#define EFFECT_WILL_O_WISP 167 -#define EFFECT_MEMENTO 168 -#define EFFECT_FACADE 169 -#define EFFECT_FOCUS_PUNCH 170 -#define EFFECT_SMELLINGSALT 171 -#define EFFECT_FOLLOW_ME 172 -#define EFFECT_NATURE_POWER 173 -#define EFFECT_CHARGE 174 -#define EFFECT_TAUNT 175 -#define EFFECT_HELPING_HAND 176 -#define EFFECT_TRICK 177 -#define EFFECT_ROLE_PLAY 178 -#define EFFECT_WISH 179 -#define EFFECT_ASSIST 180 -#define EFFECT_INGRAIN 181 -#define EFFECT_SUPERPOWER 182 -#define EFFECT_MAGIC_COAT 183 -#define EFFECT_RECYCLE 184 -#define EFFECT_REVENGE 185 -#define EFFECT_BRICK_BREAK 186 -#define EFFECT_YAWN 187 -#define EFFECT_KNOCK_OFF 188 -#define EFFECT_ENDEAVOR 189 -#define EFFECT_ERUPTION 190 -#define EFFECT_SKILL_SWAP 191 -#define EFFECT_IMPRISON 192 -#define EFFECT_REFRESH 193 -#define EFFECT_GRUDGE 194 -#define EFFECT_SNATCH 195 -#define EFFECT_LOW_KICK 196 -#define EFFECT_SECRET_POWER 197 -#define EFFECT_RECOIL_33 198 -#define EFFECT_TEETER_DANCE 199 -#define EFFECT_HIT_ESCAPE 200 -#define EFFECT_MUD_SPORT 201 -#define EFFECT_POISON_FANG 202 -#define EFFECT_WEATHER_BALL 203 -#define EFFECT_OVERHEAT 204 -#define EFFECT_TICKLE 205 -#define EFFECT_COSMIC_POWER 206 -#define EFFECT_SKY_UPPERCUT 207 -#define EFFECT_BULK_UP 208 -#define EFFECT_PLACEHOLDER 209 -#define EFFECT_WATER_SPORT 210 -#define EFFECT_CALM_MIND 211 -#define EFFECT_DRAGON_DANCE 212 -#define EFFECT_CAMOUFLAGE 213 +#define EFFECT_HIT 0 +#define EFFECT_SLEEP 1 +#define EFFECT_POISON_HIT 2 +#define EFFECT_ABSORB 3 +#define EFFECT_BURN_HIT 4 +#define EFFECT_FREEZE_HIT 5 +#define EFFECT_PARALYZE_HIT 6 +#define EFFECT_EXPLOSION 7 +#define EFFECT_DREAM_EATER 8 +#define EFFECT_MIRROR_MOVE 9 +#define EFFECT_ATTACK_UP 10 +#define EFFECT_DEFENSE_UP 11 +#define EFFECT_SPEED_UP 12 +#define EFFECT_SPECIAL_ATTACK_UP 13 +#define EFFECT_SPECIAL_DEFENSE_UP 14 +#define EFFECT_ACCURACY_UP 15 +#define EFFECT_EVASION_UP 16 +#define EFFECT_SPECIAL_ATTACK_UP_3 17 +#define EFFECT_ATTACK_DOWN 18 +#define EFFECT_DEFENSE_DOWN 19 +#define EFFECT_SPEED_DOWN 20 +#define EFFECT_SPECIAL_ATTACK_DOWN 21 +#define EFFECT_SPECIAL_DEFENSE_DOWN 22 +#define EFFECT_ACCURACY_DOWN 23 +#define EFFECT_EVASION_DOWN 24 +#define EFFECT_HAZE 25 +#define EFFECT_BIDE 26 +#define EFFECT_RAMPAGE 27 +#define EFFECT_ROAR 28 +#define EFFECT_MULTI_HIT 29 +#define EFFECT_CONVERSION 30 +#define EFFECT_FLINCH_HIT 31 +#define EFFECT_RESTORE_HP 32 +#define EFFECT_TOXIC 33 +#define EFFECT_PAY_DAY 34 +#define EFFECT_LIGHT_SCREEN 35 +#define EFFECT_TRI_ATTACK 36 +#define EFFECT_REST 37 +#define EFFECT_OHKO 38 +#define EFFECT_FUSION_COMBO 39 +#define EFFECT_SUPER_FANG 40 +#define EFFECT_DRAGON_RAGE 41 +#define EFFECT_TRAP 42 +#define EFFECT_HEAL_BLOCK 43 +#define EFFECT_RECOIL_IF_MISS 44 +#define EFFECT_MIST 45 +#define EFFECT_FOCUS_ENERGY 46 +#define EFFECT_RECOIL_25 47 +#define EFFECT_CONFUSE 48 +#define EFFECT_ATTACK_UP_2 49 +#define EFFECT_DEFENSE_UP_2 50 +#define EFFECT_SPEED_UP_2 51 +#define EFFECT_SPECIAL_ATTACK_UP_2 52 +#define EFFECT_SPECIAL_DEFENSE_UP_2 53 +#define EFFECT_ACCURACY_UP_2 54 +#define EFFECT_EVASION_UP_2 55 +#define EFFECT_TRANSFORM 56 +#define EFFECT_ATTACK_DOWN_2 57 +#define EFFECT_DEFENSE_DOWN_2 58 +#define EFFECT_SPEED_DOWN_2 59 +#define EFFECT_SPECIAL_ATTACK_DOWN_2 60 +#define EFFECT_SPECIAL_DEFENSE_DOWN_2 61 +#define EFFECT_ACCURACY_DOWN_2 62 +#define EFFECT_EVASION_DOWN_2 63 +#define EFFECT_REFLECT 64 +#define EFFECT_POISON 65 +#define EFFECT_PARALYZE 66 +#define EFFECT_ATTACK_DOWN_HIT 67 +#define EFFECT_DEFENSE_DOWN_HIT 68 +#define EFFECT_SPEED_DOWN_HIT 69 +#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 70 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 71 +#define EFFECT_ACCURACY_DOWN_HIT 72 +#define EFFECT_EVASION_DOWN_HIT 73 +#define EFFECT_TWO_TURNS_ATTACK 74 +#define EFFECT_CONFUSE_HIT 75 +#define EFFECT_VITAL_THROW 76 +#define EFFECT_SUBSTITUTE 77 +#define EFFECT_RECHARGE 78 +#define EFFECT_RAGE 79 +#define EFFECT_MIMIC 80 +#define EFFECT_METRONOME 81 +#define EFFECT_LEECH_SEED 82 +#define EFFECT_DO_NOTHING 83 +#define EFFECT_DISABLE 84 +#define EFFECT_LEVEL_DAMAGE 85 +#define EFFECT_PSYWAVE 86 +#define EFFECT_COUNTER 87 +#define EFFECT_ENCORE 88 +#define EFFECT_PAIN_SPLIT 89 +#define EFFECT_SNORE 90 +#define EFFECT_CONVERSION_2 91 +#define EFFECT_LOCK_ON 92 +#define EFFECT_SKETCH 93 +#define EFFECT_HAMMER_ARM 94 +#define EFFECT_SLEEP_TALK 95 +#define EFFECT_DESTINY_BOND 96 +#define EFFECT_FLAIL 97 +#define EFFECT_SPITE 98 +#define EFFECT_FALSE_SWIPE 99 +#define EFFECT_HEAL_BELL 100 +#define EFFECT_ALWAYS_CRIT 101 +#define EFFECT_TRIPLE_KICK 102 +#define EFFECT_THIEF 103 +#define EFFECT_MEAN_LOOK 104 +#define EFFECT_NIGHTMARE 105 +#define EFFECT_MINIMIZE 106 +#define EFFECT_CURSE 107 +#define EFFECT_HEALING_WISH 108 +#define EFFECT_PROTECT 109 +#define EFFECT_SPIKES 110 +#define EFFECT_FORESIGHT 111 +#define EFFECT_PERISH_SONG 112 +#define EFFECT_SANDSTORM 113 +#define EFFECT_ENDURE 114 +#define EFFECT_ROLLOUT 115 +#define EFFECT_SWAGGER 116 +#define EFFECT_FURY_CUTTER 117 +#define EFFECT_ATTRACT 118 +#define EFFECT_RETURN 119 +#define EFFECT_PRESENT 120 +#define EFFECT_FRUSTRATION 121 +#define EFFECT_SAFEGUARD 122 +#define EFFECT_UNUSED_125 123 +#define EFFECT_MAGNITUDE 124 +#define EFFECT_BATON_PASS 125 +#define EFFECT_PURSUIT 126 +#define EFFECT_RAPID_SPIN 127 +#define EFFECT_SONICBOOM 128 +#define EFFECT_CAPTIVATE 129 +#define EFFECT_MORNING_SUN 130 +#define EFFECT_SYNTHESIS 131 +#define EFFECT_MOONLIGHT 132 +#define EFFECT_HIDDEN_POWER 133 +#define EFFECT_RAIN_DANCE 134 +#define EFFECT_SUNNY_DAY 135 +#define EFFECT_DEFENSE_UP_HIT 136 +#define EFFECT_ATTACK_UP_HIT 137 +#define EFFECT_ALL_STATS_UP_HIT 138 +#define EFFECT_FELL_STINGER 139 +#define EFFECT_BELLY_DRUM 140 +#define EFFECT_PSYCH_UP 141 +#define EFFECT_MIRROR_COAT 142 +#define EFFECT_SKULL_BASH 143 +#define EFFECT_TWISTER 144 +#define EFFECT_EARTHQUAKE 145 +#define EFFECT_FUTURE_SIGHT 146 +#define EFFECT_GUST 147 +#define EFFECT_FLINCH_MINIMIZE_HIT 148 +#define EFFECT_SOLAR_BEAM 149 +#define EFFECT_THUNDER 150 +#define EFFECT_TELEPORT 151 +#define EFFECT_BEAT_UP 152 +#define EFFECT_SEMI_INVULNERABLE 153 +#define EFFECT_DEFENSE_CURL 154 +#define EFFECT_SOFTBOILED 155 +#define EFFECT_FAKE_OUT 156 +#define EFFECT_UPROAR 157 +#define EFFECT_STOCKPILE 158 +#define EFFECT_SPIT_UP 159 +#define EFFECT_SWALLOW 160 +#define EFFECT_WORRY_SEED 161 +#define EFFECT_HAIL 162 +#define EFFECT_TORMENT 163 +#define EFFECT_FLATTER 164 +#define EFFECT_WILL_O_WISP 165 +#define EFFECT_MEMENTO 166 +#define EFFECT_FACADE 167 +#define EFFECT_FOCUS_PUNCH 168 +#define EFFECT_SMELLINGSALT 169 +#define EFFECT_FOLLOW_ME 170 +#define EFFECT_NATURE_POWER 171 +#define EFFECT_CHARGE 172 +#define EFFECT_TAUNT 173 +#define EFFECT_HELPING_HAND 174 +#define EFFECT_TRICK 175 +#define EFFECT_ROLE_PLAY 176 +#define EFFECT_WISH 177 +#define EFFECT_ASSIST 178 +#define EFFECT_INGRAIN 179 +#define EFFECT_SUPERPOWER 180 +#define EFFECT_MAGIC_COAT 181 +#define EFFECT_RECYCLE 182 +#define EFFECT_REVENGE 183 +#define EFFECT_BRICK_BREAK 184 +#define EFFECT_YAWN 185 +#define EFFECT_KNOCK_OFF 186 +#define EFFECT_ENDEAVOR 187 +#define EFFECT_ERUPTION 188 +#define EFFECT_SKILL_SWAP 189 +#define EFFECT_IMPRISON 190 +#define EFFECT_REFRESH 191 +#define EFFECT_GRUDGE 192 +#define EFFECT_SNATCH 193 +#define EFFECT_LOW_KICK 194 +#define EFFECT_SECRET_POWER 195 +#define EFFECT_RECOIL_33 196 +#define EFFECT_TEETER_DANCE 197 +#define EFFECT_HIT_ESCAPE 198 +#define EFFECT_MUD_SPORT 199 +#define EFFECT_POISON_FANG 200 +#define EFFECT_WEATHER_BALL 201 +#define EFFECT_OVERHEAT 202 +#define EFFECT_TICKLE 203 +#define EFFECT_COSMIC_POWER 204 +#define EFFECT_SKY_UPPERCUT 205 +#define EFFECT_BULK_UP 206 +#define EFFECT_PLACEHOLDER 207 +#define EFFECT_WATER_SPORT 208 +#define EFFECT_CALM_MIND 209 +#define EFFECT_DRAGON_DANCE 210 +#define EFFECT_CAMOUFLAGE 211 // New move effects -#define EFFECT_PLEDGE 214 -#define EFFECT_FLING 215 -#define EFFECT_NATURAL_GIFT 216 -#define EFFECT_WAKE_UP_SLAP 217 -#define EFFECT_WRING_OUT 218 -#define EFFECT_HEX 219 -#define EFFECT_ASSURANCE 220 -#define EFFECT_TRUMP_CARD 221 -#define EFFECT_ACROBATICS 222 -#define EFFECT_HEAT_CRASH 223 -#define EFFECT_PUNISHMENT 224 -#define EFFECT_STORED_POWER 225 -#define EFFECT_ELECTRO_BALL 226 -#define EFFECT_GYRO_BALL 227 -#define EFFECT_ECHOED_VOICE 228 -#define EFFECT_PAYBACK 229 -#define EFFECT_ROUND 230 -#define EFFECT_BRINE 231 -#define EFFECT_VENOSHOCK 232 -#define EFFECT_RETALIATE 233 -#define EFFECT_BULLDOZE 234 -#define EFFECT_FOUL_PLAY 235 -#define EFFECT_PSYSHOCK 236 -#define EFFECT_ROOST 237 -#define EFFECT_GRAVITY 238 -#define EFFECT_MIRACLE_EYE 239 -#define EFFECT_TAILWIND 240 -#define EFFECT_EMBARGO 241 -#define EFFECT_AQUA_RING 242 -#define EFFECT_TRICK_ROOM 243 -#define EFFECT_WONDER_ROOM 244 -#define EFFECT_MAGIC_ROOM 245 -#define EFFECT_MAGNET_RISE 246 -#define EFFECT_TOXIC_SPIKES 247 -#define EFFECT_GASTRO_ACID 248 -#define EFFECT_STEALTH_ROCK 249 -#define EFFECT_TELEKINESIS 250 -#define EFFECT_POWER_SWAP 251 -#define EFFECT_GUARD_SWAP 252 -#define EFFECT_HEART_SWAP 253 -#define EFFECT_POWER_SPLIT 254 -#define EFFECT_GUARD_SPLIT 255 -#define EFFECT_STICKY_WEB 256 -#define EFFECT_METAL_BURST 257 -#define EFFECT_LUCKY_CHANT 258 -#define EFFECT_SUCKER_PUNCH 259 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 260 -#define EFFECT_SIMPLE_BEAM 261 -#define EFFECT_ENTRAINMENT 262 -#define EFFECT_HEAL_PULSE 263 -#define EFFECT_QUASH 264 -#define EFFECT_ION_DELUGE 265 -#define EFFECT_FREEZE_DRY 266 -#define EFFECT_TOPSY_TURVY 267 -#define EFFECT_MISTY_TERRAIN 268 -#define EFFECT_GRASSY_TERRAIN 269 -#define EFFECT_ELECTRIC_TERRAIN 270 -#define EFFECT_PSYCHIC_TERRAIN 271 -#define EFFECT_ATTACK_ACCURACY_UP 272 -#define EFFECT_ATTACK_SPATK_UP 273 -#define EFFECT_HURRICANE 274 -#define EFFECT_TWO_TYPED_MOVE 275 -#define EFFECT_ME_FIRST 276 -#define EFFECT_SPEED_UP_HIT 277 -#define EFFECT_QUIVER_DANCE 278 -#define EFFECT_COIL 279 -#define EFFECT_ELECTRIFY 280 -#define EFFECT_SCALD 281 -#define EFFECT_REFLECT_TYPE 282 -#define EFFECT_SOAK 283 -#define EFFECT_GROWTH 284 -#define EFFECT_CLOSE_COMBAT 285 -#define EFFECT_LAST_RESORT 286 -#define EFFECT_RECOIL_33_STATUS 287 -#define EFFECT_FLINCH_STATUS 288 -#define EFFECT_RECOIL_50 289 -#define EFFECT_SHELL_SMASH 290 -#define EFFECT_SHIFT_GEAR 291 -#define EFFECT_DEFENSE_UP_3 292 -#define EFFECT_NOBLE_ROAR 293 -#define EFFECT_VENOM_DRENCH 294 -#define EFFECT_TOXIC_THREAD 295 -#define EFFECT_CLEAR_SMOG 296 -#define EFFECT_HIT_SWITCH_TARGET 297 -#define EFFECT_FINAL_GAMBIT 298 -#define EFFECT_CHANGE_TYPE_ON_ITEM 299 -#define EFFECT_AUTOTOMIZE 300 -#define EFFECT_COPYCAT 301 -#define EFFECT_DEFOG 302 -#define EFFECT_HIT_ENEMY_HEAL_ALLY 303 -#define EFFECT_SMACK_DOWN 304 -#define EFFECT_SYNCHRONOISE 305 -#define EFFECT_PSYCHO_SHIFT 306 -#define EFFECT_POWER_TRICK 307 -#define EFFECT_FLAME_BURST 308 -#define EFFECT_AFTER_YOU 309 -#define EFFECT_BESTOW 310 -#define EFFECT_ROTOTILLER 311 -#define EFFECT_FLOWER_SHIELD 312 -#define EFFECT_HIT_PREVENT_ESCAPE 313 -#define EFFECT_SPEED_SWAP 314 -#define EFFECT_DEFENSE_UP2_HIT 315 -#define EFFECT_REVELATION_DANCE 316 -#define EFFECT_AURORA_VEIL 317 -#define EFFECT_THIRD_TYPE 318 -#define EFFECT_FEINT 319 -#define EFFECT_SPARKLING_ARIA 320 -#define EFFECT_ACUPRESSURE 321 -#define EFFECT_AROMATIC_MIST 322 -#define EFFECT_POWDER 323 -#define EFFECT_SP_ATTACK_UP_HIT 324 -#define EFFECT_BELCH 325 -#define EFFECT_PARTING_SHOT 326 -#define EFFECT_SPECTRAL_THIEF 327 -#define EFFECT_V_CREATE 328 -#define EFFECT_MAT_BLOCK 329 -#define EFFECT_STOMPING_TANTRUM 330 -#define EFFECT_CORE_ENFORCER 331 -#define EFFECT_INSTRUCT 332 -#define EFFECT_THROAT_CHOP 333 -#define EFFECT_LASER_FOCUS 334 -#define EFFECT_MAGNETIC_FLUX 335 -#define EFFECT_GEAR_UP 336 -#define EFFECT_INCINERATE 337 -#define EFFECT_BUG_BITE 338 -#define EFFECT_STRENGTH_SAP 339 -#define EFFECT_MIND_BLOWN 340 -#define EFFECT_PURIFY 341 -#define EFFECT_BURN_UP 342 -#define EFFECT_SHORE_UP 343 -#define EFFECT_GEOMANCY 344 -#define EFFECT_FAIRY_LOCK 345 -#define EFFECT_ALLY_SWITCH 346 -#define EFFECT_RELIC_SONG 347 -#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 348 -#define EFFECT_BODY_PRESS 349 -#define EFFECT_EERIE_SPELL 350 -#define EFFECT_JUNGLE_HEALING 351 -#define EFFECT_COACHING 352 -#define EFFECT_LASH_OUT 353 -#define EFFECT_GRASSY_GLIDE 354 -#define EFFECT_REMOVE_TERRAIN 355 -#define EFFECT_DYNAMAX_DOUBLE_DMG 356 -#define EFFECT_DECORATE 357 -#define EFFECT_SNIPE_SHOT 358 -#define EFFECT_TRIPLE_HIT 359 -#define EFFECT_RECOIL_HP_25 360 -#define EFFECT_STUFF_CHEEKS 361 -#define EFFECT_GRAV_APPLE 362 -#define EFFECT_EVASION_UP_HIT 363 -#define EFFECT_DOUBLE_IRON_BASH 364 -#define EFFECT_GLITZY_GLOW 365 -#define EFFECT_BADDY_BAD 366 -#define EFFECT_SAPPY_SEED 367 -#define EFFECT_FREEZY_FROST 368 -#define EFFECT_SPARKLY_SWIRL 369 -#define EFFECT_PLASMA_FISTS 370 -#define EFFECT_HYPERSPACE_FURY 371 -#define EFFECT_AURA_WHEEL 372 -#define EFFECT_PHOTON_GEYSER 373 -#define EFFECT_SHELL_SIDE_ARM 374 -#define EFFECT_TERRAIN_PULSE 375 -#define EFFECT_JAW_LOCK 376 -#define EFFECT_NO_RETREAT 377 -#define EFFECT_TAR_SHOT 378 -#define EFFECT_POLTERGEIST 379 -#define EFFECT_OCTOLOCK 380 -#define EFFECT_CLANGOROUS_SOUL 381 -#define EFFECT_BOLT_BEAK 382 -#define EFFECT_SKY_DROP 383 -#define EFFECT_EXPANDING_FORCE 384 -#define EFFECT_SCALE_SHOT 385 -#define EFFECT_METEOR_BEAM 386 -#define EFFECT_RISING_VOLTAGE 387 -#define EFFECT_BEAK_BLAST 388 -#define EFFECT_COURT_CHANGE 389 -#define EFFECT_STEEL_BEAM 390 -#define EFFECT_EXTREME_EVOBOOST 391 -#define EFFECT_DAMAGE_SET_TERRAIN 392 // genesis supernova +#define EFFECT_PLEDGE 212 +#define EFFECT_FLING 213 +#define EFFECT_NATURAL_GIFT 214 +#define EFFECT_WAKE_UP_SLAP 215 +#define EFFECT_WRING_OUT 216 +#define EFFECT_HEX 217 +#define EFFECT_ASSURANCE 218 +#define EFFECT_TRUMP_CARD 219 +#define EFFECT_ACROBATICS 220 +#define EFFECT_HEAT_CRASH 221 +#define EFFECT_PUNISHMENT 222 +#define EFFECT_STORED_POWER 223 +#define EFFECT_ELECTRO_BALL 224 +#define EFFECT_GYRO_BALL 225 +#define EFFECT_ECHOED_VOICE 226 +#define EFFECT_PAYBACK 227 +#define EFFECT_ROUND 228 +#define EFFECT_BRINE 229 +#define EFFECT_VENOSHOCK 230 +#define EFFECT_RETALIATE 231 +#define EFFECT_BULLDOZE 232 +#define EFFECT_FOUL_PLAY 233 +#define EFFECT_PSYSHOCK 234 +#define EFFECT_ROOST 235 +#define EFFECT_GRAVITY 236 +#define EFFECT_MIRACLE_EYE 237 +#define EFFECT_TAILWIND 238 +#define EFFECT_EMBARGO 239 +#define EFFECT_AQUA_RING 240 +#define EFFECT_TRICK_ROOM 241 +#define EFFECT_WONDER_ROOM 242 +#define EFFECT_MAGIC_ROOM 243 +#define EFFECT_MAGNET_RISE 244 +#define EFFECT_TOXIC_SPIKES 245 +#define EFFECT_GASTRO_ACID 246 +#define EFFECT_STEALTH_ROCK 247 +#define EFFECT_TELEKINESIS 248 +#define EFFECT_POWER_SWAP 249 +#define EFFECT_GUARD_SWAP 250 +#define EFFECT_HEART_SWAP 251 +#define EFFECT_POWER_SPLIT 252 +#define EFFECT_GUARD_SPLIT 253 +#define EFFECT_STICKY_WEB 254 +#define EFFECT_METAL_BURST 255 +#define EFFECT_LUCKY_CHANT 256 +#define EFFECT_SUCKER_PUNCH 257 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 258 +#define EFFECT_SIMPLE_BEAM 259 +#define EFFECT_ENTRAINMENT 260 +#define EFFECT_HEAL_PULSE 261 +#define EFFECT_QUASH 262 +#define EFFECT_ION_DELUGE 263 +#define EFFECT_FREEZE_DRY 264 +#define EFFECT_TOPSY_TURVY 265 +#define EFFECT_MISTY_TERRAIN 266 +#define EFFECT_GRASSY_TERRAIN 267 +#define EFFECT_ELECTRIC_TERRAIN 268 +#define EFFECT_PSYCHIC_TERRAIN 269 +#define EFFECT_ATTACK_ACCURACY_UP 270 +#define EFFECT_ATTACK_SPATK_UP 271 +#define EFFECT_HURRICANE 272 +#define EFFECT_TWO_TYPED_MOVE 273 +#define EFFECT_ME_FIRST 274 +#define EFFECT_SPEED_UP_HIT 275 +#define EFFECT_QUIVER_DANCE 276 +#define EFFECT_COIL 277 +#define EFFECT_ELECTRIFY 278 +#define EFFECT_SCALD 279 +#define EFFECT_REFLECT_TYPE 280 +#define EFFECT_SOAK 281 +#define EFFECT_GROWTH 282 +#define EFFECT_CLOSE_COMBAT 283 +#define EFFECT_LAST_RESORT 284 +#define EFFECT_RECOIL_33_STATUS 285 +#define EFFECT_FLINCH_STATUS 286 +#define EFFECT_RECOIL_50 287 +#define EFFECT_SHELL_SMASH 288 +#define EFFECT_SHIFT_GEAR 289 +#define EFFECT_DEFENSE_UP_3 290 +#define EFFECT_NOBLE_ROAR 291 +#define EFFECT_VENOM_DRENCH 292 +#define EFFECT_TOXIC_THREAD 293 +#define EFFECT_CLEAR_SMOG 294 +#define EFFECT_HIT_SWITCH_TARGET 295 +#define EFFECT_FINAL_GAMBIT 296 +#define EFFECT_CHANGE_TYPE_ON_ITEM 297 +#define EFFECT_AUTOTOMIZE 298 +#define EFFECT_COPYCAT 299 +#define EFFECT_DEFOG 300 +#define EFFECT_HIT_ENEMY_HEAL_ALLY 301 +#define EFFECT_SMACK_DOWN 302 +#define EFFECT_SYNCHRONOISE 303 +#define EFFECT_PSYCHO_SHIFT 304 +#define EFFECT_POWER_TRICK 305 +#define EFFECT_FLAME_BURST 306 +#define EFFECT_AFTER_YOU 307 +#define EFFECT_BESTOW 308 +#define EFFECT_ROTOTILLER 309 +#define EFFECT_FLOWER_SHIELD 310 +#define EFFECT_HIT_PREVENT_ESCAPE 311 +#define EFFECT_SPEED_SWAP 312 +#define EFFECT_DEFENSE_UP2_HIT 313 +#define EFFECT_REVELATION_DANCE 314 +#define EFFECT_AURORA_VEIL 315 +#define EFFECT_THIRD_TYPE 316 +#define EFFECT_FEINT 317 +#define EFFECT_SPARKLING_ARIA 318 +#define EFFECT_ACUPRESSURE 319 +#define EFFECT_AROMATIC_MIST 320 +#define EFFECT_POWDER 321 +#define EFFECT_SP_ATTACK_UP_HIT 322 +#define EFFECT_BELCH 323 +#define EFFECT_PARTING_SHOT 324 +#define EFFECT_SPECTRAL_THIEF 325 +#define EFFECT_V_CREATE 326 +#define EFFECT_MAT_BLOCK 327 +#define EFFECT_STOMPING_TANTRUM 328 +#define EFFECT_CORE_ENFORCER 329 +#define EFFECT_INSTRUCT 330 +#define EFFECT_THROAT_CHOP 331 +#define EFFECT_LASER_FOCUS 332 +#define EFFECT_MAGNETIC_FLUX 333 +#define EFFECT_GEAR_UP 334 +#define EFFECT_INCINERATE 335 +#define EFFECT_BUG_BITE 336 +#define EFFECT_STRENGTH_SAP 337 +#define EFFECT_MIND_BLOWN 338 +#define EFFECT_PURIFY 339 +#define EFFECT_BURN_UP 340 +#define EFFECT_SHORE_UP 341 +#define EFFECT_GEOMANCY 342 +#define EFFECT_FAIRY_LOCK 343 +#define EFFECT_ALLY_SWITCH 344 +#define EFFECT_RELIC_SONG 345 +#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 346 +#define EFFECT_BODY_PRESS 347 +#define EFFECT_EERIE_SPELL 348 +#define EFFECT_JUNGLE_HEALING 349 +#define EFFECT_COACHING 350 +#define EFFECT_LASH_OUT 351 +#define EFFECT_GRASSY_GLIDE 352 +#define EFFECT_REMOVE_TERRAIN 353 +#define EFFECT_DYNAMAX_DOUBLE_DMG 354 +#define EFFECT_DECORATE 355 +#define EFFECT_SNIPE_SHOT 356 +#define EFFECT_RECOIL_HP_25 357 +#define EFFECT_STUFF_CHEEKS 358 +#define EFFECT_GRAV_APPLE 359 +#define EFFECT_EVASION_UP_HIT 360 +#define EFFECT_GLITZY_GLOW 361 +#define EFFECT_BADDY_BAD 362 +#define EFFECT_SAPPY_SEED 363 +#define EFFECT_FREEZY_FROST 364 +#define EFFECT_SPARKLY_SWIRL 365 +#define EFFECT_PLASMA_FISTS 366 +#define EFFECT_HYPERSPACE_FURY 367 +#define EFFECT_AURA_WHEEL 368 +#define EFFECT_PHOTON_GEYSER 369 +#define EFFECT_SHELL_SIDE_ARM 370 +#define EFFECT_TERRAIN_PULSE 371 +#define EFFECT_JAW_LOCK 372 +#define EFFECT_NO_RETREAT 373 +#define EFFECT_TAR_SHOT 374 +#define EFFECT_POLTERGEIST 375 +#define EFFECT_OCTOLOCK 376 +#define EFFECT_CLANGOROUS_SOUL 377 +#define EFFECT_BOLT_BEAK 378 +#define EFFECT_SKY_DROP 379 +#define EFFECT_EXPANDING_FORCE 380 +#define EFFECT_SCALE_SHOT 381 +#define EFFECT_METEOR_BEAM 382 +#define EFFECT_RISING_VOLTAGE 383 +#define EFFECT_BEAK_BLAST 384 +#define EFFECT_COURT_CHANGE 385 +#define EFFECT_STEEL_BEAM 386 +#define EFFECT_EXTREME_EVOBOOST 387 +#define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova +#define EFFECT_DARK_VOID 389 +#define EFFECT_SLEEP_HIT 390 +#define EFFECT_DOUBLE_SHOCK 391 +#define EFFECT_SPECIAL_ATTACK_UP_HIT 392 +#define EFFECT_VICTORY_DANCE 393 -#define NUM_BATTLE_MOVE_EFFECTS 393 +#define NUM_BATTLE_MOVE_EFFECTS 394 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index b11e7eb653..0fcb2bbb0c 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -93,7 +93,7 @@ #define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 #define VARIOUS_GET_MOVE_TARGET 3 #define VARIOUS_GET_BATTLER_FAINTED 4 -#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 +#define VARIOUS_RESET_SWITCH_IN_ABILITY_BITS 5 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 #define VARIOUS_RESET_PLAYER_FAINTED 7 #define VARIOUS_PALACE_FLAVOR_TEXT 8 @@ -245,6 +245,8 @@ #define VARIOUS_TRY_SYMBIOSIS 154 #define VARIOUS_CAN_TELEPORT 155 #define VARIOUS_GET_BATTLER_SIDE 156 +#define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 +#define VARIOUS_SWAP_STATS 158 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 @@ -284,40 +286,43 @@ #define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen // cases for Cmd_moveend -#define MOVEEND_PROTECT_LIKE_EFFECT 0 -#define MOVEEND_RAGE 1 -#define MOVEEND_DEFROST 2 +#define MOVEEND_SUM_DAMAGE 0 +#define MOVEEND_PROTECT_LIKE_EFFECT 1 +#define MOVEEND_RAGE 2 #define MOVEEND_SYNCHRONIZE_TARGET 3 #define MOVEEND_ABILITIES 4 #define MOVEEND_ABILITIES_ATTACKER 5 #define MOVEEND_STATUS_IMMUNITY_ABILITIES 6 #define MOVEEND_SYNCHRONIZE_ATTACKER 7 #define MOVEEND_CHOICE_MOVE 8 -#define MOVEEND_CHANGED_ITEMS 9 -#define MOVEEND_ATTACKER_INVISIBLE 10 -#define MOVEEND_ATTACKER_VISIBLE 11 -#define MOVEEND_TARGET_VISIBLE 12 -#define MOVEEND_ITEM_EFFECTS_TARGET 13 -#define MOVEEND_MOVE_EFFECTS2 14 -#define MOVEEND_ITEM_EFFECTS_ALL 15 -#define MOVEEND_KINGSROCK 16 // These item effects will occur each strike of a multi-hit move -#define MOVEEND_SUBSTITUTE 17 -#define MOVEEND_SKY_DROP_CONFUSE 18 -#define MOVEEND_UPDATE_LAST_MOVES 19 -#define MOVEEND_MIRROR_MOVE 20 -#define MOVEEND_NEXT_TARGET 21 // Everything up until here is handled for each strike of a multi-hit move -#define MOVEEND_MAGICIAN 22 // Occurs after final multi-hit strike, and after other items/abilities would activate -#define MOVEEND_EJECT_BUTTON 23 -#define MOVEEND_RED_CARD 24 -#define MOVEEND_EJECT_PACK 25 -#define MOVEEND_LIFEORB_SHELLBELL 26 // Includes shell bell, throat spray, etc -#define MOVEEND_PICKPOCKET 27 -#define MOVEEND_DANCER 28 -#define MOVEEND_EMERGENCY_EXIT 29 -#define MOVEEND_WEATHER_FORM 30 -#define MOVEEND_SYMBIOSIS 31 -#define MOVEEND_CLEAR_BITS 32 -#define MOVEEND_COUNT 33 +#define MOVEEND_ATTACKER_INVISIBLE 9 +#define MOVEEND_ATTACKER_VISIBLE 10 +#define MOVEEND_TARGET_VISIBLE 11 +#define MOVEEND_ITEM_EFFECTS_TARGET 12 +#define MOVEEND_ITEM_EFFECTS_ALL 13 +#define MOVEEND_KINGSROCK 14 // These item effects will occur each strike of a multi-hit move +#define MOVEEND_SUBSTITUTE 15 +#define MOVEEND_SKY_DROP_CONFUSE 16 +#define MOVEEND_UPDATE_LAST_MOVES 17 +#define MOVEEND_MIRROR_MOVE 18 +#define MOVEEND_NEXT_TARGET 19 // Everything up until here is handled for each strike of a multi-hit move +#define MOVEEND_MULTIHIT_MOVE 20 +#define MOVEEND_DEFROST 21 +#define MOVEEND_MOVE_EFFECTS2 22 +#define MOVEEND_RECOIL 23 +#define MOVEEND_MAGICIAN 24 // Occurs after final multi-hit strike, and after other items/abilities would activate +#define MOVEEND_EJECT_BUTTON 25 +#define MOVEEND_RED_CARD 26 +#define MOVEEND_EJECT_PACK 27 +#define MOVEEND_LIFEORB_SHELLBELL 28 // Includes shell bell, throat spray, etc +#define MOVEEND_CHANGED_ITEMS 29 +#define MOVEEND_PICKPOCKET 30 +#define MOVEEND_DANCER 31 +#define MOVEEND_EMERGENCY_EXIT 32 +#define MOVEEND_WEATHER_FORM 33 +#define MOVEEND_SYMBIOSIS 34 +#define MOVEEND_CLEAR_BITS 35 +#define MOVEEND_COUNT 36 // switch cases #define B_SWITCH_NORMAL 0 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 4bce51a455..8dd94cca4d 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -630,8 +630,10 @@ #define STRINGID_ATTACKERHEALEDITSBURN 628 #define STRINGID_ATTACKERMELTEDTHEICE 629 #define STRINGID_TARGETTOUGHEDITOUT 630 +#define STRINGID_ATTACKERLOSTELECTRICTYPE 631 +#define STRINGID_ATTACKERSWITCHEDSTATWITHTARGET 632 -#define BATTLESTRINGS_COUNT 631 +#define BATTLESTRINGS_COUNT 633 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/include/constants/global.h b/include/constants/global.h index 5870cf4163..2b8b27028d 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -1,8 +1,11 @@ #ifndef GUARD_CONSTANTS_GLOBAL_H #define GUARD_CONSTANTS_GLOBAL_H -#include "constants/battle_config.h" -#include "constants/overworld_config.h" +#include "config/battle.h" +#include "config/debug.h" +#include "config/item.h" +#include "config/pokemon.h" +#include "config/overworld.h" // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. diff --git a/include/constants/heal_locations.h b/include/constants/heal_locations.h index 272a69dfa9..d3dd8f1f17 100644 --- a/include/constants/heal_locations.h +++ b/include/constants/heal_locations.h @@ -1,6 +1,7 @@ #ifndef GUARD_CONSTANTS_HEAL_LOCATIONS_H #define GUARD_CONSTANTS_HEAL_LOCATIONS_H +#define HEAL_LOCATION_NONE 0 #define HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1 #define HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F 2 #define HEAL_LOCATION_PETALBURG_CITY 3 diff --git a/include/constants/item.h b/include/constants/item.h index a224291faf..a32f4545af 100644 --- a/include/constants/item.h +++ b/include/constants/item.h @@ -16,4 +16,10 @@ #define KEYITEMS_POCKET 4 #define POCKETS_COUNT 5 +#define REPEL_LURE_MASK (1 << 15) +#define IS_LAST_USED_LURE(var) (var & REPEL_LURE_MASK) +#define REPEL_LURE_STEPS(var) (var & (REPEL_LURE_MASK - 1)) +#define LURE_STEP_COUNT (IS_LAST_USED_LURE(VarGet(VAR_REPEL_STEP_COUNT)) ? REPEL_LURE_STEPS(VarGet(VAR_REPEL_STEP_COUNT)) : 0) +#define REPEL_STEP_COUNT (!IS_LAST_USED_LURE(VarGet(VAR_REPEL_STEP_COUNT)) ? REPEL_LURE_STEPS(VarGet(VAR_REPEL_STEP_COUNT)) : 0) + #endif // GUARD_ITEM_CONSTANTS_H diff --git a/include/constants/items.h b/include/constants/items.h index 1448bf5914..9f931686ec 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -931,6 +931,10 @@ #define ITEMS_COUNT 758 #define ITEM_FIELD_ARROW ITEMS_COUNT +// A special item id associated with "Cancel"/"Exit" etc. in a list of items or decorations +// Its icon is defined at ITEMS_COUNT as the "return to field" arrow +#define ITEM_LIST_END 0xFFFF + // Range of berries given out by various NPCS #define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY #define LAST_BERRY_MASTER_BERRY ITEM_NOMEL_BERRY diff --git a/include/constants/maps.h b/include/constants/maps.h index 2ad4ea8df5..626054b43f 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -3,14 +3,17 @@ #include "map_groups.h" -#define MAP_NONE (0x7F | (0x7F << 8)) +// Warps using this map will instead use the warp data stored in gSaveBlock1Ptr->dynamicWarp. +// Used for warps that need to change destinations, e.g. when stepping off an elevator. +#define MAP_DYNAMIC (0x7F | (0x7F << 8)) + #define MAP_UNDEFINED (0xFF | (0xFF << 8)) #define MAP_GROUP(map) (MAP_##map >> 8) #define MAP_NUM(map) (MAP_##map & 0xFF) // IDs for dynamic warps. Both are used in the dest_warp_id field for warp events, but they -// are never read in practice. A dest_map of MAP_NONE is used to indicate that a +// are never read in practice. A dest_map of MAP_DYNAMIC is used to indicate that a // dynamic warp should be used, at which point the warp id is ignored. It can be passed to // SetDynamicWarp/SetDynamicWarpWithCoords as the first argument, but this argument is unused. // As only one dynamic warp is saved at a time there's no need to distinguish between them. diff --git a/include/constants/moves.h b/include/constants/moves.h index 75691de76a..20cb32c545 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -809,7 +809,59 @@ #define MOVES_COUNT_GEN8 779 -#define MOVES_COUNT MOVES_COUNT_GEN8 +// Gen 9 moves. +#define MOVE_TERA_BLAST 779 +#define MOVE_SILK_TRAP 780 +#define MOVE_AXE_KICK 781 +#define MOVE_LAST_RESPECTS 782 +#define MOVE_LUMINA_CRASH 783 +#define MOVE_ORDER_UP 784 +#define MOVE_JET_PUNCH 785 +#define MOVE_SPICY_EXTRACT 786 +#define MOVE_SPIN_OUT 787 +#define MOVE_POPULATION_BOMB 788 +#define MOVE_ICE_SPINNER 789 +#define MOVE_GLAIVE_RUSH 790 +#define MOVE_REVIVAL_BLESSING 791 +#define MOVE_SALT_CURE 792 +#define MOVE_TRIPLE_DIVE 793 +#define MOVE_MORTAL_SPIN 794 +#define MOVE_DOODLE 795 +#define MOVE_FILLET_AWAY 796 +#define MOVE_KOWTOW_CLEAVE 797 +#define MOVE_FLOWER_TRICK 798 +#define MOVE_TORCH_SONG 799 +#define MOVE_AQUA_STEP 800 +#define MOVE_RAGING_BULL 801 +#define MOVE_MAKE_IT_RAIN 802 +#define MOVE_RUINATION 803 +#define MOVE_COLLISION_COURSE 804 +#define MOVE_ELECTRO_DRIFT 805 +#define MOVE_SHED_TAIL 806 +#define MOVE_CHILLY_RECEPTION 807 +#define MOVE_TIDY_UP 808 +#define MOVE_SNOWSCAPE 809 +#define MOVE_POUNCE 810 +#define MOVE_TRAILBLAZE 811 +#define MOVE_CHILLING_WATER 812 +#define MOVE_HYPER_DRILL 813 +#define MOVE_TWIN_BEAM 814 +#define MOVE_RAGE_FIST 815 +#define MOVE_ARMOR_CANNON 816 +#define MOVE_BITTER_BLADE 817 +#define MOVE_DOUBLE_SHOCK 818 +#define MOVE_GIGATON_HAMMER 819 +#define MOVE_COMEUPPANCE 820 +#define MOVE_AQUA_CUTTER 821 +#define MOVE_BLAZING_TORQUE 822 +#define MOVE_WICKED_TORQUE 823 +#define MOVE_NOXIOUS_TORQUE 824 +#define MOVE_COMBAT_TORQUE 825 +#define MOVE_MAGICAL_TORQUE 826 + +#define MOVES_COUNT_GEN9 827 + +#define MOVES_COUNT MOVES_COUNT_GEN9 // Z Moves #define MOVE_BREAKNECK_BLITZ (MOVES_COUNT + 0) diff --git a/include/constants/overworld_config.h b/include/constants/overworld_config.h deleted file mode 100644 index 50f45933df..0000000000 --- a/include/constants/overworld_config.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef GUARD_CONSTANTS_OVERWORLD_CONFIG_H -#define GUARD_CONSTANTS_OVERWORLD_CONFIG_H - -// Overworld flags -#define OW_FLAG_NO_ENCOUNTER 0 // If this flag is set, wild encounters will be disabled. -#define OW_FLAG_NO_TRAINER_SEE 0 // If this flag is set, trainers will not battle the player unless they're talked to. - -// Debug options -#define DEBUG_SYSTEM_ENABLE TRUE // Enables a overworld debug menu for changing flags, variables, giving pokemon and more, accessed by holding R and pressing START while in the overworld by default. -#define DEBUG_SYSTEM_HELD_KEYS (R_BUTTON) // The keys required to be held to open the debug menu. -#define DEBUG_SYSTEM_TRIGGER_EVENT pressedStartButton // The event that opens the menu when holding the key(s) defined in DEBUG_SYSTEM_HELD_KEYS. -#define DEBUG_SYSTEM_IN_MENU FALSE // Replaces the overworld debug menu button combination with a start menu entry (above Pokédex). - -// Replace the used flags with others or disable with a 0 -#define DEBUG_FLAG_NO_COLLISION 0 // If this flag is set, the debug function in the Utility submenu to disable player collision can be used. -#define DEBUG_FLAG_PC_FROM_DEBUG_MENU 0 // If this flag is set, the debug function in debug menu to access the player PC works. - -#endif // GUARD_CONSTANTS_OVERWORLD_CONFIG_H diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 39c09c3129..ef939b9579 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -1,7 +1,6 @@ #ifndef GUARD_CONSTANTS_POKEDEX_H #define GUARD_CONSTANTS_POKEDEX_H -#include "constants/pokemon_config.h" // National Pokedex order. // These constants are NOT disabled by P_GEN_X_POKEMON to keep pokedex_orders.h clean. enum { diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5167f5f55f..006e2a703f 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -329,9 +329,10 @@ #define MON_PIC_HEIGHT 64 #define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2) -#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 -#define BATTLE_ALIVE_ATK_SIDE 1 -#define BATTLE_ALIVE_DEF_SIDE 2 +#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 +#define BATTLE_ALIVE_ATK_SIDE 1 +#define BATTLE_ALIVE_DEF_SIDE 2 +#define BATTLE_ALIVE_EXCEPT_ATTACKER 3 #define SKIP_FRONT_ANIM (1 << 7) @@ -349,8 +350,7 @@ #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 SPECIES_FLAG_CANNOT_BE_TRADED (1 << 9) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/include/constants/species.h b/include/constants/species.h index 18e3138ce6..5a46e856fb 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1,8 +1,6 @@ #ifndef GUARD_CONSTANTS_SPECIES_H #define GUARD_CONSTANTS_SPECIES_H -#include "constants/pokemon_config.h" - #define SPECIES_NONE 0 #define SPECIES_BULBASAUR 1 #define SPECIES_IVYSAUR 2 diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 09ae720111..39ca2a2b86 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -352,6 +352,7 @@ #define TRAINER_CLASS_PIKE_QUEEN 0x3f #define TRAINER_CLASS_PYRAMID_KING 0x40 #define TRAINER_CLASS_RS_PROTAG 0x41 +#define TRAINER_CLASS_COUNT 0x42 #define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music #define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music diff --git a/include/constants/vars.h b/include/constants/vars.h index bd988c789b..be32c74982 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -304,4 +304,10 @@ #define SPECIAL_VARS_END 0x8015 +// If an overworld trigger uses this pseudo-variable as the trigger check, +// then the script will be run using RunScriptImmediately instead of in the +// global script context. This means it will run faster, but cannot do any +// cutscenes nor call a wait command. Used for weather effects in vanilla. +#define TRIGGER_RUN_IMMEDIATELY 0 + #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/debug.h b/include/debug.h index f56efbde34..88f5f66620 100644 --- a/include/debug.h +++ b/include/debug.h @@ -1,8 +1,6 @@ #ifndef GUARD_DEBUG_H #define GUARD_DEBUG_H -#include "constants/overworld_config.h" - void Debug_ShowMainMenu(void); #endif // GUARD_DEBUG_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index aad161553c..01269cdb5e 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -3,6 +3,28 @@ #include "constants/event_object_movement.h" +// Palette slots for overworld NPCs. +// The same standard set of palettes for overworld objects are normally always loaded at the same +// time while walking around the overworld. The only exceptions are the palettes for the player and +// the "special" NPC, which can be swapped out. This also means that e.g. two "special" NPCs +// with competing palettes cannot be properly loaded at the same time. +enum { + PALSLOT_PLAYER, + PALSLOT_PLAYER_REFLECTION, + PALSLOT_NPC_1, + PALSLOT_NPC_2, + PALSLOT_NPC_3, + PALSLOT_NPC_4, + PALSLOT_NPC_1_REFLECTION, + PALSLOT_NPC_2_REFLECTION, + PALSLOT_NPC_3_REFLECTION, + PALSLOT_NPC_4_REFLECTION, + PALSLOT_NPC_SPECIAL, + PALSLOT_NPC_SPECIAL_REFLECTION, + OBJ_PALSLOT_COUNT + // the remaining sprite palette slots (12-15) are used by field effects, the interface, etc. +}; + enum SpinnerRunnerFollowPatterns { RUNFOLLOW_ANY, diff --git a/include/field_weather.h b/include/field_weather.h index 1d8cfe4220..8ce0cc9e50 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -19,6 +19,8 @@ enum { PALTAG_WEATHER_2 }; +#define NUM_WEATHER_COLOR_MAPS 19 + struct Weather { union @@ -39,12 +41,12 @@ struct Weather struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; - u8 gammaShifts[19][32]; - u8 altGammaShifts[19][32]; - s8 gammaIndex; - s8 gammaTargetIndex; - u8 gammaStepDelay; - u8 gammaStepFrameCounter; + u8 darkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; + u8 contrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; + s8 colorMapIndex; + s8 targetColorMapIndex; + u8 colorMapStepDelay; + u8 colorMapStepCounter; u16 fadeDestColor; u8 palProcessingState; u8 fadeScreenCounter; @@ -59,7 +61,7 @@ struct Weather u8 weatherGfxLoaded; bool8 weatherChangeComplete; u8 weatherPicSpritePalIndex; - u8 altGammaSpritePalIndex; + u8 contrastColorMapSpritePalIndex; // Rain u16 rainSpriteVisibleCounter; u8 curRainSpriteIndex; @@ -75,12 +77,12 @@ struct Weather u8 snowflakeSpriteCount; u8 targetSnowflakeSpriteCount; // Thunderstorm - u16 thunderDelay; - u16 thunderCounter; + u16 thunderTimer; // general-purpose timer for state transitions + u16 thunderSETimer; // timer for thunder sound effect bool8 thunderAllowEnd; - bool8 thunderSkipShort; - u8 thunderShortRetries; - bool8 thunderTriggered; + bool8 thunderLongBolt; // true if this cycle will end in a long lightning bolt + u8 thunderShortBolts; // the number of short bolts this cycle + bool8 thunderEnqueued; // Horizontal fog u16 fogHScrollPosX; u16 fogHScrollCounter; @@ -146,12 +148,12 @@ void StartWeather(void); void SetNextWeather(u8 weather); void SetCurrentAndNextWeather(u8 weather); void SetCurrentAndNextWeatherNoDelay(u8 weather); -void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex); -void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay); +void ApplyWeatherColorMapIfIdle(s8 colorMapIndex); +void ApplyWeatherColorMapIfIdle_Gradual(u8 colorMapIndex, u8 targetColorMapIndex, u8 colorMapStepDelay); void FadeScreen(u8 mode, s8 delay); bool8 IsWeatherNotFadingIn(void); void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex); -void ApplyWeatherGammaShiftToPal(u8 paletteIndex); +void ApplyWeatherColorMapToPal(u8 paletteIndex); void LoadCustomWeatherSpritePalette(const u16 *palette); void ResetDroughtWeatherPaletteLoading(void); bool8 LoadDroughtWeatherPalettes(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index 2f7eaba66b..f2dbefae86 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -9,6 +9,8 @@ #define NUM_PALS_TOTAL 13 #define MAX_MAP_DATA_SIZE 10240 +#define NUM_TILES_PER_METATILE 8 + // Map coordinates are offset by 7 when using the map // buffer because it needs to load sufficient border // metatiles to fill the player's view (the player has diff --git a/include/fldeff.h b/include/fldeff.h index 0ad0e3d606..bed235a1be 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -35,6 +35,7 @@ bool8 FldEff_UseStrength(void); // sweet scent bool8 SetUpFieldMove_SweetScent(void); bool8 FldEff_SweetScent(void); +void StartSweetScentFieldEffect(void); // teleport bool8 SetUpFieldMove_Teleport(void); diff --git a/include/gba/defines.h b/include/gba/defines.h index c52d7ef4f9..6d96e9a9e7 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -67,6 +67,9 @@ #define DISPLAY_WIDTH 240 #define DISPLAY_HEIGHT 160 +#define DISPLAY_TILE_WIDTH (DISPLAY_WIDTH / 8) +#define DISPLAY_TILE_HEIGHT (DISPLAY_HEIGHT / 8) + #define TILE_SIZE_4BPP 32 #define TILE_SIZE_8BPP 64 diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 91aa9f214e..d362b5cb38 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -11,6 +11,7 @@ #ifdef NDEBUG #define DebugPrintf(pBuf, ...) +#define DebugPrintfLevel(level, pBuf, ...) #define MgbaOpen() #define MgbaClose() #define AGBPrintInit() @@ -29,18 +30,21 @@ void AGBPrintInit(void); #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) -#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, __VA_ARGS__) +#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) MgbaPrintf(level, pBuf, ## __VA_ARGS__) #elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) -#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #else // Default to AGBPrint -#define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) +#define DebugPrintf(pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #endif #endif diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 2be44a5f3b..4da3154e25 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -39,10 +39,10 @@ struct Tileset { /*0x00*/ bool8 isCompressed; /*0x01*/ bool8 isSecondary; - /*0x04*/ void *tiles; - /*0x08*/ void *palettes; - /*0x0c*/ u16 *metatiles; - /*0x10*/ u16 *metatileAttributes; + /*0x04*/ const u32 *tiles; + /*0x08*/ const u16 (*palettes)[16]; + /*0x0c*/ const u16 *metatiles; + /*0x10*/ const u16 *metatileAttributes; /*0x14*/ TilesetCB callback; }; diff --git a/include/item.h b/include/item.h index 0aaa678a16..cf2209e0e6 100644 --- a/include/item.h +++ b/include/item.h @@ -2,7 +2,6 @@ #define GUARD_ITEM_H #include "constants/item.h" -#include "constants/item_config.h" typedef void (*ItemUseFunc)(u8); @@ -64,13 +63,11 @@ u16 CountTotalItemQuantityInBag(u16 itemId); bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); const u8 *ItemId_GetName(u16 itemId); -u16 ItemId_GetId(u16 itemId); u16 ItemId_GetPrice(u16 itemId); u8 ItemId_GetHoldEffect(u16 itemId); u8 ItemId_GetHoldEffectParam(u16 itemId); const u8 *ItemId_GetDescription(u16 itemId); u8 ItemId_GetImportance(u16 itemId); -u8 ItemId_GetRegistrability(u16 itemId); u8 ItemId_GetPocket(u16 itemId); u8 ItemId_GetType(u16 itemId); ItemUseFunc ItemId_GetFieldFunc(u16 itemId); diff --git a/include/item_use.h b/include/item_use.h index d55f7cf0d7..812e984ec8 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -20,6 +20,7 @@ void ItemUseOutOfBattle_PPUp(u8); void ItemUseOutOfBattle_RareCandy(u8); void ItemUseOutOfBattle_TMHM(u8); void ItemUseOutOfBattle_Repel(u8); +void ItemUseOutOfBattle_Lure(u8); void ItemUseOutOfBattle_EscapeRope(u8); void ItemUseOutOfBattle_BlackWhiteFlute(u8); void ItemUseOutOfBattle_EvolutionStone(u8); @@ -27,6 +28,7 @@ void ItemUseOutOfBattle_Berry(u8); void ItemUseOutOfBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_FormChange(u8); void ItemUseOutOfBattle_FormChange_ConsumedOnUse(u8); +void ItemUseOutOfBattle_Honey(u8); void ItemUseOutOfBattle_CannotUse(u8); void ItemUseInBattle_PokeBall(u8); void ItemUseInBattle_StatIncrease(u8); diff --git a/include/list_menu.h b/include/list_menu.h index e70a92bab1..9299ede6c8 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -7,12 +7,20 @@ #define LIST_CANCEL -2 #define LIST_HEADER -3 -#define LIST_NO_MULTIPLE_SCROLL 0 -#define LIST_MULTIPLE_SCROLL_DPAD 1 -#define LIST_MULTIPLE_SCROLL_L_R 2 +enum { + LIST_NO_MULTIPLE_SCROLL, + LIST_MULTIPLE_SCROLL_DPAD, + LIST_MULTIPLE_SCROLL_L_R, +}; -enum -{ +enum { + CURSOR_BLACK_ARROW, + CURSOR_INVISIBLE, + CURSOR_RED_OUTLINE, + CURSOR_RED_ARROW, +}; + +enum { SCROLL_ARROW_LEFT, SCROLL_ARROW_RIGHT, SCROLL_ARROW_UP, diff --git a/include/pokedex.h b/include/pokedex.h index 703b9ab8df..96cd02affb 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -3,10 +3,7 @@ extern u8 gUnusedPokedexU8; extern void (*gPokedexVBlankCB)(void); - -#if P_ENABLE_DEBUG == TRUE extern const u8 *const gMonFootprintTable[]; -#endif enum { diff --git a/include/pokemon.h b/include/pokemon.h index 2f29911399..f70fda91a5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -3,7 +3,6 @@ #include "sprite.h" #include "constants/region_map_sections.h" -#include "constants/pokemon_config.h" #include "constants/map_groups.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) @@ -294,7 +293,7 @@ struct BattlePokemon /*0x55*/ u32 otId; }; -struct BaseStats +struct SpeciesInfo { /* 0x00 */ u8 baseHP; /* 0x01 */ u8 baseAttack; @@ -327,7 +326,6 @@ struct BaseStats u16 flags; }; -#include "constants/battle_config.h" struct BattleMove { u16 effect; @@ -396,7 +394,7 @@ extern struct SpriteTemplate gMultiuseSpriteTemplate; extern const struct BattleMove gBattleMoves[]; extern const u8 gFacilityClassToPicIndex[]; extern const u8 gFacilityClassToTrainerClass[]; -extern const struct BaseStats gBaseStats[]; +extern const struct SpeciesInfo gSpeciesInfo[]; extern const u8 *const gItemEffectTable[]; extern const u32 gExperienceTables[][MAX_LEVEL + 1]; extern const struct LevelUpMove *const gLevelUpLearnsets[]; @@ -565,5 +563,6 @@ u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *mon, u16 method, u32 arg u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove); bool32 ShouldShowFemaleDifferences(u16 species, u32 personality); void TryToSetBattleFormChangeMoves(struct Pokemon *mon); +u32 GetMonFriendshipScore(struct Pokemon *pokemon); #endif // GUARD_POKEMON_H diff --git a/include/shop.h b/include/shop.h index c338103b4a..7fd7669ea5 100644 --- a/include/shop.h +++ b/include/shop.h @@ -3,47 +3,6 @@ extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3]; -enum -{ - MART_TYPE_NORMAL, // normal mart - MART_TYPE_DECOR, - MART_TYPE_DECOR2, -}; - -// shop view window NPC info enum -enum -{ - OBJ_EVENT_ID, - X_COORD, - Y_COORD, - ANIM_NUM, - LAYER_TYPE -}; - -struct MartInfo -{ - /*0x0*/ void (*callback)(void); - /*0x4*/ const struct MenuAction *menuActions; - /*0x8*/ const u16 *itemList; - /*0xC*/ u16 itemCount; - /*0xE*/ u8 windowId; - /*0xF*/ u8 martType; -}; - -struct ShopData -{ - /*0x0000*/ u16 tilemapBuffers[4][0x400]; - /*0x2000*/ u32 totalCost; - /*0x2004*/ u16 itemsShowed; - /*0x2006*/ u16 selectedRow; - /*0x2008*/ u16 scrollOffset; - /*0x200A*/ u8 maxQuantity; - /*0x200B*/ u8 scrollIndicatorsTaskId; - /*0x200C*/ u8 iconSlot; - /*0x200D*/ u8 itemSpriteIds[2]; - /*0x2010*/ s16 viewportObjects[OBJECT_EVENTS_COUNT][5]; -}; - void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); diff --git a/include/strings.h b/include/strings.h index 3736adf9b0..959bb8c22d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -938,6 +938,7 @@ extern const u8 gText_BootedUpTM[]; extern const u8 gText_TMHMContainedVar1[]; extern const u8 gText_PlayerUsedVar2[]; extern const u8 gText_RepelEffectsLingered[]; +extern const u8 gText_LureEffectsLingered[]; extern const u8 gText_UsedVar2WildLured[]; extern const u8 gText_UsedVar2WildRepelled[]; extern const u8 gText_BoxFull[]; diff --git a/include/tileset_anims.h b/include/tileset_anims.h index 0e515f044d..9e07bdcbee 100755 --- a/include/tileset_anims.h +++ b/include/tileset_anims.h @@ -6,4 +6,30 @@ void InitSecondaryTilesetAnimation(void); void UpdateTilesetAnimations(void); void TransferTilesetAnimsBuffer(void); +void InitTilesetAnim_General(void); +void InitTilesetAnim_Petalburg(void); +void InitTilesetAnim_Rustboro(void); +void InitTilesetAnim_Dewford(void); +void InitTilesetAnim_Slateport(void); +void InitTilesetAnim_Mauville(void); +void InitTilesetAnim_Lavaridge(void); +void InitTilesetAnim_Fallarbor(void); +void InitTilesetAnim_Fortree(void); +void InitTilesetAnim_Lilycove(void); +void InitTilesetAnim_Mossdeep(void); +void InitTilesetAnim_EverGrande(void); +void InitTilesetAnim_Pacifidlog(void); +void InitTilesetAnim_Sootopolis(void); +void InitTilesetAnim_BattleFrontierOutsideWest(void); +void InitTilesetAnim_BattleFrontierOutsideEast(void); +void InitTilesetAnim_Building(void); +void InitTilesetAnim_Cave(void); +void InitTilesetAnim_BikeShop(void); +void InitTilesetAnim_Underwater(void); +void InitTilesetAnim_SootopolisGym(void); +void InitTilesetAnim_MauvilleGym(void); +void InitTilesetAnim_EliteFour(void); +void InitTilesetAnim_BattleDome(void); +void InitTilesetAnim_BattlePyramid(void); + #endif // GUARD_TILESET_ANIMS_H diff --git a/include/tilesets.h b/include/tilesets.h index 70609c0469..c7cc8edac9 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -1,13 +1,10 @@ #ifndef GUARD_tilesets_H #define GUARD_tilesets_H -// Exported type declarations +extern const u32 gTilesetTiles_General[]; +extern const u16 gTilesetPalettes_General[][16]; -// Exported RAM declarations - -// Exported ROM declarations - -extern struct Tileset *gTilesetPointer_SecretBase; -extern struct Tileset *gTilesetPointer_SecretBaseRedCave; +extern const struct Tileset * const gTilesetPointer_SecretBase; +extern const struct Tileset * const gTilesetPointer_SecretBaseRedCave; #endif //GUARD_tilesets_H diff --git a/json_data_rules.mk b/json_data_rules.mk index 1de3c79f31..aa9e5b3a25 100755 --- a/json_data_rules.mk +++ b/json_data_rules.mk @@ -6,3 +6,9 @@ $(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $( $(JSONPROC) $^ $@ $(C_BUILDDIR)/wild_encounter.o: c_dep += $(DATA_SRC_SUBDIR)/wild_encounters.h + +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h +$(DATA_SRC_SUBDIR)/region_map/region_map_entries.h: $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json.txt + $(JSONPROC) $^ $@ + +$(C_BUILDDIR)/region_map.o: c_dep += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h diff --git a/ld_script.txt b/ld_script.txt index da0eb682d3..629649adfb 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -21,7 +21,7 @@ SECTIONS { *libc.a:locale.o(.data); *libc.a:mallocr.o(.data); . = 0x40000; -} + } . = 0x3000000; @@ -503,7 +503,7 @@ SECTIONS { src/berry_blender.o(.rodata); src/new_game.o(.rodata); src/overworld.o(.rodata); - data/tilesets.o(.rodata); + src/tilesets.o(.rodata); data/maps.o(.rodata); src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); diff --git a/ld_script_modern.txt b/ld_script_modern.txt index b60a22171a..dd4eeed6ad 100644 --- a/ld_script_modern.txt +++ b/ld_script_modern.txt @@ -17,7 +17,7 @@ SECTIONS { gflib/*.o(ewram_data); . = 0x40000; -} + } . = 0x3000000; @@ -49,8 +49,11 @@ SECTIONS { ALIGN(4) { src/rom_header.o(.text*); - src/*.o(.text*); + src/rom_header_gf.o(.text.*); + src/crt0.o(.text); + src/main.o(.text); gflib/*.o(.text*); + src/*.o(.text*); asm/*.o(.text*); } =0 diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index b2eef2d021..7714cd00ec 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -1749,6 +1749,7 @@ gCryTable:: cry Cry_TornadusTherian cry Cry_ThundurusTherian cry Cry_LandorusTherian + cry Cry_Bulbasaur //Cry_EnamorusTherian @ Kyurem cry Cry_KyuremWhite cry Cry_KyuremBlack diff --git a/src/bard_music.c b/src/bard_music.c index dd986371d3..165b4fe770 100644 --- a/src/bard_music.c +++ b/src/bard_music.c @@ -51,9 +51,9 @@ void GetWordPhonemes(struct BardSong *song, u16 word) for (i = 0; i < 6; i ++) { sound = &song->sound[i]; - if (sound->var00 != 0xFF) + if (sound->songLengthId != 0xFF) { - song->phonemes[i].length = sound->var01 + gBardSoundLengthTable[sound->var00]; + song->phonemes[i].length = sound->songLengthOffset + gBardSoundLengthTable[sound->songLengthId]; song->phonemes[i].pitch = CalcWordPitch(word + 30, i); song->length += song->phonemes[i].length; } diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b1154e7934..92866a7c2c 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1082,6 +1082,14 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score -= 6; break; + case EFFECT_VICTORY_DANCE: + if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + score -= 10; + else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + score -= 8; + else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + score -= 6; + break; case EFFECT_SHIFT_GEAR: if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; @@ -2007,6 +2015,10 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_FIRE)) score -= 10; break; + case EFFECT_DOUBLE_SHOCK: + if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_ELECTRIC)) + score -= 10; + break; case EFFECT_DEFOG: if (gSideStatuses[GetBattlerSide(battlerDef)] & (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL | SIDE_STATUS_SAFEGUARD | SIDE_STATUS_MIST) @@ -2690,7 +2702,7 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) switch (gBattleMoves[AI_DATA->partnerMove].effect) { case EFFECT_HELPING_HAND: - if (IS_MOVE_STATUS(move)) + if (!IS_MOVE_STATUS(move)) score += 5; break; case EFFECT_PERISH_SONG: @@ -3407,7 +3419,6 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score += min(CountPositiveStatStages(battlerDef), 4); break; case EFFECT_MULTI_HIT: - case EFFECT_DOUBLE_HIT: case EFFECT_TRIPLE_KICK: if (AI_MoveMakesContact(AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk], move) && AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD @@ -3939,6 +3950,10 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (sereneGraceBoost) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); break; + case EFFECT_SPECIAL_ATTACK_UP_HIT: + if (sereneGraceBoost) + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score); + break; case EFFECT_FELL_STINGER: if (gBattleMons[battlerAtk].statStages[STAT_ATK] < MAX_STAT_STAGE && AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY @@ -4394,6 +4409,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score); IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPDEF, &score); break; + case EFFECT_VICTORY_DANCE: + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPEED, &score); + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score); + break; case EFFECT_SHELL_SMASH: if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS) score += 1; @@ -4879,6 +4899,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_SANDSTORM: case EFFECT_HAIL: case EFFECT_GEOMANCY: + case EFFECT_VICTORY_DANCE: score += 2; break; default: diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 5876e8b474..e7657cc4e0 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -209,9 +209,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) species = GetMonData(&party[i], MON_DATA_SPECIES); if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) - monAbility = gBaseStats[species].abilities[1]; + monAbility = gSpeciesInfo[species].abilities[1]; else - monAbility = gBaseStats[species].abilities[0]; + monAbility = gSpeciesInfo[species].abilities[0]; if (absorbingTypeAbility == monAbility && Random() & 1) { @@ -583,9 +583,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) species = GetMonData(&party[i], MON_DATA_SPECIES); if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) - monAbility = gBaseStats[species].abilities[1]; + monAbility = gSpeciesInfo[species].abilities[1]; else - monAbility = gBaseStats[species].abilities[0]; + monAbility = gSpeciesInfo[species].abilities[0]; CalcPartyMonTypeEffectivenessMultiplier(gLastLandedMoves[gActiveBattler], species, monAbility); if (gMoveResultFlags & flags) @@ -832,8 +832,8 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 atkType1 = gBattleMons[opposingBattler].type1; u8 atkType2 = gBattleMons[opposingBattler].type2; - u8 defType1 = gBaseStats[species].type1; - u8 defType2 = gBaseStats[species].type2; + u8 defType1 = gSpeciesInfo[species].type1; + u8 defType2 = gSpeciesInfo[species].type2; typeEffectiveness *= GetTypeModifier(atkType1, defType1); if (atkType2 != atkType1) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 344dd16577..128f223a1a 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -552,9 +552,9 @@ void SetBattlerData(u8 battlerId) if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE) gBattleMons[battlerId].ability = BATTLE_HISTORY->abilities[battlerId]; // Check if mon can only have one ability. - else if (gBaseStats[gBattleMons[battlerId].species].abilities[1] == ABILITY_NONE - || gBaseStats[gBattleMons[battlerId].species].abilities[1] == gBaseStats[gBattleMons[battlerId].species].abilities[0]) - gBattleMons[battlerId].ability = gBaseStats[gBattleMons[battlerId].species].abilities[0]; + else if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] == ABILITY_NONE + || gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] == gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]) + gBattleMons[battlerId].ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; // The ability is unknown. else gBattleMons[battlerId].ability = ABILITY_NONE; @@ -628,12 +628,12 @@ bool32 IsBattlerTrapped(u8 battler, bool8 checkSwitch) u32 GetTotalBaseStat(u32 species) { - return gBaseStats[species].baseHP - + gBaseStats[species].baseAttack - + gBaseStats[species].baseDefense - + gBaseStats[species].baseSpeed - + gBaseStats[species].baseSpAttack - + gBaseStats[species].baseSpDefense; + return gSpeciesInfo[species].baseHP + + gSpeciesInfo[species].baseAttack + + gSpeciesInfo[species].baseDefense + + gSpeciesInfo[species].baseSpeed + + gSpeciesInfo[species].baseSpAttack + + gSpeciesInfo[species].baseSpDefense; } bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler) @@ -1183,12 +1183,12 @@ s32 AI_GetAbility(u32 battlerId) return knownAbility; // Else, guess the ability - if (gBaseStats[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) + if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) { u16 abilityGuess = ABILITY_NONE; while (abilityGuess == ABILITY_NONE) { - abilityGuess = gBaseStats[gBattleMons[battlerId].species].abilities[Random() % NUM_ABILITY_SLOTS]; + abilityGuess = gSpeciesInfo[gBattleMons[battlerId].species].abilities[Random() % NUM_ABILITY_SLOTS]; } return abilityGuess; @@ -1333,7 +1333,7 @@ bool32 IsConfusionMoveEffect(u16 moveEffect) { switch (moveEffect) { - case EFFECT_CONFUSE_HIT: + case EFFECT_CONFUSE: case EFFECT_SWAGGER: case EFFECT_FLATTER: case EFFECT_TEETER_DANCE: @@ -2091,6 +2091,7 @@ bool32 IsStatRaisingEffect(u16 effect) case EFFECT_BULK_UP: case EFFECT_GEOMANCY: case EFFECT_STOCKPILE: + case EFFECT_VICTORY_DANCE: return TRUE; default: return FALSE; diff --git a/src/battle_anim.c b/src/battle_anim.c index 509369789c..f949065f28 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -17,7 +17,6 @@ #include "sprite.h" #include "task.h" #include "constants/battle_anim.h" -#include "constants/battle_config.h" #include "constants/moves.h" /* diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 93bb495241..0db7f69d55 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -5667,11 +5667,11 @@ static void AnimTipMon_Step(struct Sprite *sprite) void AnimTask_SkullBashPosition(u8 taskId) { - u8 a; + u8 side; gTasks[taskId].data[0] = gBattlerSpriteIds[gBattleAnimAttacker]; - a = GetBattlerSide(gBattleAnimAttacker); - gTasks[taskId].data[1] = a; + side = GetBattlerSide(gBattleAnimAttacker); + gTasks[taskId].data[1] = side; gTasks[taskId].data[2] = 0; switch (gBattleAnimArgs[0]) { @@ -5683,7 +5683,7 @@ void AnimTask_SkullBashPosition(u8 taskId) gTasks[taskId].data[3] = 8; gTasks[taskId].data[4] = 0; gTasks[taskId].data[5] = 3; - if (a == 0) + if (side == B_SIDE_PLAYER) gTasks[taskId].data[5] *= -1; gTasks[taskId].func = AnimTask_SkullBashPositionSet; @@ -5692,7 +5692,7 @@ void AnimTask_SkullBashPosition(u8 taskId) gTasks[taskId].data[3] = 8; gTasks[taskId].data[4] = 0x600; gTasks[taskId].data[5] = 0xC0; - if (a == 0) + if (side == B_SIDE_PLAYER) { gTasks[taskId].data[4] = -gTasks[taskId].data[4]; gTasks[taskId].data[5] = -gTasks[taskId].data[5]; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index 104c778852..dfe2666a6f 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -36,11 +36,7 @@ static void CreateBattlerTrace(struct Task *task, u8 taskId); EWRAM_DATA static union AffineAnimCmd *sAnimTaskAffineAnim = NULL; -#if P_ENABLE_DEBUG == TRUE const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] = -#else -static const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] = -#endif { { // Single battle { 72, 80 }, @@ -65,11 +61,7 @@ const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS] = [CASTFORM_ICE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, }; -#if P_ENABLE_DEBUG == TRUE const u8 sCastformElevations[NUM_CASTFORM_FORMS] = -#else -static const u8 sCastformElevations[NUM_CASTFORM_FORMS] = -#endif { [CASTFORM_NORMAL] = 13, [CASTFORM_FIRE] = 14, diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 2134a8914d..0a65deb282 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -19,6 +19,7 @@ #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/pokemon.h" +#include "battle_util.h" // function declarations static void SpriteCB_SpriteToCentreOfSide(struct Sprite *sprite); @@ -7856,8 +7857,8 @@ static void SpriteCB_TwinkleOnBattler(struct Sprite *sprite) void AnimTask_PrimalReversion(u8 taskId) { - if (ItemId_GetId(gBattleMons[gBattleAnimAttacker].item) == ITEM_RED_ORB) - gBattleAnimArgs[0] = ItemId_GetId(gBattleMons[gBattleAnimAttacker].item); + if (gBattleMons[gBattleAnimAttacker].item == ITEM_RED_ORB) + gBattleAnimArgs[0] = gBattleMons[gBattleAnimAttacker].item; else gBattleAnimArgs[0] = 0; DestroyAnimVisualTask(taskId); @@ -7899,6 +7900,6 @@ void AnimTask_AffectionHangedOn(u8 taskId) int side = GetBattlerSide(gBattleAnimTarget); struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; - gBattleAnimArgs[0] = GetMonFriendshipScore(&party[gBattlerPartyIndexes[gBattleAnimTarget]]); + gBattleAnimArgs[0] = GetBattlerFriendshipScore(gBattleAnimTarget); DestroyAnimVisualTask(taskId); } diff --git a/src/battle_bg.c b/src/battle_bg.c index 5ea08c97cc..c2c17d9fab 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -26,17 +26,6 @@ #include "constants/trainers.h" #include "constants/battle_anim.h" -#if !P_ENABLE_DEBUG -struct BattleBackground -{ - const void *tileset; - const void *tilemap; - const void *entryTileset; - const void *entryTilemap; - const void *palette; -}; -#endif - // .rodata static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? @@ -602,11 +591,7 @@ const struct WindowTemplate * const gBattleWindowTemplates[] = [B_WIN_TYPE_ARENA] = sBattleArenaWindowTemplates, }; -#if P_ENABLE_DEBUG == TRUE const struct BattleBackground sBattleTerrainTable[] = -#else -static const struct BattleBackground sBattleTerrainTable[] = -#endif { [BATTLE_TERRAIN_GRASS] = { diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 5a307cfc9c..3e168828d1 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1548,18 +1548,17 @@ static void OpponentHandleYesNoBox(void) static void OpponentHandleChooseMove(void) { - if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); - OpponentBufferExecCompleted(); - } - else - { - u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + u8 chosenMoveId; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER) - || IsWildMonSmart()) + if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER) + || IsWildMonSmart()) + { + if (gBattleTypeFlags & BATTLE_TYPE_PALACE) + { + BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + } + else { chosenMoveId = gBattleStruct->aiMoveOrAction[gActiveBattler]; gBattlerTarget = gBattleStruct->aiChosenTarget[gActiveBattler]; @@ -1598,66 +1597,66 @@ static void OpponentHandleChooseMove(void) } break; } - OpponentBufferExecCompleted(); } - else // Wild pokemon - use random move + OpponentBufferExecCompleted(); + } + else // Wild pokemon - use random move + { + u16 move; + u8 target; + do { - u16 move; - u8 target; - do - { - chosenMoveId = Random() & 3; - move = moveInfo->moves[chosenMoveId]; - } while (move == MOVE_NONE); + chosenMoveId = Random() & 3; + move = moveInfo->moves[chosenMoveId]; + } while (move == MOVE_NONE); - if (GetBattlerMoveTargetType(gActiveBattler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - do { - target = GetBattlerAtPosition(Random() & 2); - } while (!CanTargetBattler(gActiveBattler, target, move)); + if (GetBattlerMoveTargetType(gActiveBattler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + do { + target = GetBattlerAtPosition(Random() & 2); + } while (!CanTargetBattler(gActiveBattler, target, move)); - #if B_WILD_NATURAL_ENEMIES == TRUE - // Don't bother to loop through table if the move can't attack ally - if (!(gBattleMoves[move].target & MOVE_TARGET_BOTH)) + #if B_WILD_NATURAL_ENEMIES == TRUE + // Don't bother to loop through table if the move can't attack ally + if (!(gBattleMoves[move].target & MOVE_TARGET_BOTH)) + { + u16 i, speciesAttacker, speciesTarget, isPartnerEnemy = FALSE; + static const u16 naturalEnemies[][2] = { - u16 i, speciesAttacker, speciesTarget, isPartnerEnemy = FALSE; - static const u16 naturalEnemies[][2] = - { - // Attacker Target - {SPECIES_ZANGOOSE, SPECIES_SEVIPER}, - {SPECIES_SEVIPER, SPECIES_ZANGOOSE}, - {SPECIES_HEATMOR, SPECIES_DURANT}, - {SPECIES_DURANT, SPECIES_HEATMOR}, - {SPECIES_SABLEYE, SPECIES_CARBINK}, - {SPECIES_MAREANIE, SPECIES_CORSOLA}, - }; - speciesAttacker = gBattleMons[gActiveBattler].species; - speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler))].species; + // Attacker Target + {SPECIES_ZANGOOSE, SPECIES_SEVIPER}, + {SPECIES_SEVIPER, SPECIES_ZANGOOSE}, + {SPECIES_HEATMOR, SPECIES_DURANT}, + {SPECIES_DURANT, SPECIES_HEATMOR}, + {SPECIES_SABLEYE, SPECIES_CARBINK}, + {SPECIES_MAREANIE, SPECIES_CORSOLA}, + }; + speciesAttacker = gBattleMons[gActiveBattler].species; + speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler))].species; - for (i = 0; i < ARRAY_COUNT(naturalEnemies); i++) + for (i = 0; i < ARRAY_COUNT(naturalEnemies); i++) + { + if (speciesAttacker == naturalEnemies[i][0] && speciesTarget == naturalEnemies[i][1]) { - if (speciesAttacker == naturalEnemies[i][0] && speciesTarget == naturalEnemies[i][1]) - { - isPartnerEnemy = TRUE; - break; - } + isPartnerEnemy = TRUE; + break; } - if (isPartnerEnemy && CanTargetBattler(gActiveBattler, target, move)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler)) << 8)); - else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } + if (isPartnerEnemy && CanTargetBattler(gActiveBattler, target, move)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler)) << 8)); else - #endif BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); - - OpponentBufferExecCompleted(); + #endif + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } + else + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + + OpponentBufferExecCompleted(); } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 4be3426402..d2d0cecd85 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -30,7 +30,6 @@ #include "util.h" #include "window.h" #include "constants/battle_anim.h" -#include "constants/battle_config.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/party_menu.h" @@ -330,7 +329,7 @@ static void HandleInputChooseAction(void) { SwapHpBarsWithHpText(); } -#if B_ENABLE_DEBUG == TRUE +#if DEBUG_BATTLE_MENU == TRUE else if (JOY_NEW(SELECT_BUTTON)) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_DEBUG, 0); @@ -1385,7 +1384,7 @@ static void Task_GiveExpToMon(u8 taskId) u16 species = GetMonData(mon, MON_DATA_SPECIES); u8 level = GetMonData(mon, MON_DATA_LEVEL); u32 currExp = GetMonData(mon, MON_DATA_EXP); - u32 nextLvlExp = gExperienceTables[gBaseStats[species].growthRate][level + 1]; + u32 nextLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; if (currExp + gainedExp >= nextLvlExp) { @@ -1428,11 +1427,11 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 exp = GetMonData(mon, MON_DATA_EXP); - u32 currLvlExp = gExperienceTables[gBaseStats[species].growthRate][level]; + u32 currLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; u32 expToNextLvl; exp -= currLvlExp; - expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; + expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; @@ -1464,7 +1463,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); currExp = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - expOnNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1]; + expOnNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; if (currExp + gainedExp >= expOnNextLvl) { diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index d39d745a6f..712f1562d7 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -325,7 +325,7 @@ static void Task_GiveExpToMon(u8 taskId) u16 species = GetMonData(mon, MON_DATA_SPECIES); u8 level = GetMonData(mon, MON_DATA_LEVEL); u32 currExp = GetMonData(mon, MON_DATA_EXP); - u32 nextLvlExp = gExperienceTables[gBaseStats[species].growthRate][level + 1]; + u32 nextLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; if (currExp + gainedExp >= nextLvlExp) { @@ -368,11 +368,11 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 exp = GetMonData(mon, MON_DATA_EXP); - u32 currLvlExp = gExperienceTables[gBaseStats[species].growthRate][level]; + u32 currLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; u32 expToNextLvl; exp -= currLvlExp; - expToNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLvlExp; + expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; @@ -404,7 +404,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); currExp = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - expOnNextLvl = gExperienceTables[gBaseStats[species].growthRate][level + 1]; + expOnNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; if (currExp + gainedExp >= expOnNextLvl) { diff --git a/src/battle_debug.c b/src/battle_debug.c index 4450fe0cba..be7dbf715c 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -271,6 +271,7 @@ static const struct BitfieldInfo sStatus2Bitfield[] = {/*Multiple Turns*/ 1, 12}, // Wrap bits are omitted. Done in various. // In Love bits are omitted. Done in various. + {/*(Focus Energy*/ 1, 20}, {/*Transformed*/ 1, 21}, {/*Recharge*/ 1, 22}, {/*Rage*/ 1, 23}, @@ -1766,7 +1767,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) break; case LIST_ITEM_MOVES: data->modifyArrows.minValue = 0; - data->modifyArrows.maxValue = MOVES_COUNT_GEN8 - 1; + data->modifyArrows.maxValue = MOVES_COUNT - 1; data->modifyArrows.maxDigits = 3; if (data->currentSecondaryListItemId == 4) { diff --git a/src/battle_dome.c b/src/battle_dome.c index 84b7652a54..7005890d83 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2348,8 +2348,8 @@ static void InitDomeTrainers(void) rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPDEF, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPEED, NULL); rankingScores[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_MAX_HP, NULL); - monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1]; - monTypesBits |= gBitTable[gBaseStats[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type1]; + monTypesBits |= gBitTable[gSpeciesInfo[GetMonData(&gPlayerParty[trainerId], MON_DATA_SPECIES, NULL)].type2]; } // Count the number of types in the players party, to factor into the ranking @@ -2383,8 +2383,8 @@ static void InitDomeTrainers(void) rankingScores[i] += statValues[STAT_SPDEF]; rankingScores[i] += statValues[STAT_SPEED]; rankingScores[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; } for (monTypesCount = 0, j = 0; j < 32; j++) @@ -2448,7 +2448,7 @@ static void InitDomeTrainers(void) #define CALC_STAT(base, statIndex) \ { \ - u8 baseStat = gBaseStats[species].base; \ + u8 baseStat = gSpeciesInfo[species].base; \ stats[statIndex] = (((2 * baseStat + ivs + evs[statIndex] / 4) * level) / 100) + 5; \ stats[statIndex] = (u8) ModifyStatByNature(nature, stats[statIndex], statIndex); \ } @@ -2481,7 +2481,7 @@ static void CalcDomeMonStats(u16 species, int level, int ivs, u8 evBits, u8 natu } else { - int n = 2 * gBaseStats[species].baseHP; + int n = 2 * gSpeciesInfo[species].baseHP; stats[STAT_HP] = (((n + ivs + evs[STAT_HP] / 4) * level) / 100) + level + 10; } @@ -2750,9 +2750,9 @@ static int GetTypeEffectivenessPoints(int move, int targetSpecies, int mode) if (move == MOVE_NONE || move == MOVE_UNAVAILABLE || IS_MOVE_STATUS(move)) return 0; - defType1 = gBaseStats[targetSpecies].type1; - defType2 = gBaseStats[targetSpecies].type2; - defAbility = gBaseStats[targetSpecies].abilities[0]; + defType1 = gSpeciesInfo[targetSpecies].type1; + defType2 = gSpeciesInfo[targetSpecies].type2; + defAbility = gSpeciesInfo[targetSpecies].abilities[0]; moveType = gBattleMoves[move].type; if (defAbility == ABILITY_LEVITATE && moveType == TYPE_GROUND) @@ -5188,9 +5188,9 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun targetSpecies = gFacilityTrainerMons[DOME_MONS[loserTournamentId][k]].species; if (personality & 1) - targetAbility = gBaseStats[targetSpecies].abilities[1]; + targetAbility = gSpeciesInfo[targetSpecies].abilities[1]; else - targetAbility = gBaseStats[targetSpecies].abilities[0]; + targetAbility = gSpeciesInfo[targetSpecies].abilities[0]; typeMultiplier = CalcPartyMonTypeEffectivenessMultiplier(moveIds[i * 4 + j], targetSpecies, targetAbility); if (typeMultiplier == UQ_4_12(0)) @@ -5865,8 +5865,8 @@ static void InitRandomTourneyTreeResults(void) statSums[i] += statValues[STAT_SPDEF]; statSums[i] += statValues[STAT_SPEED]; statSums[i] += statValues[STAT_HP]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; - monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type1]; + monTypesBits |= gBitTable[gSpeciesInfo[gFacilityTrainerMons[DOME_MONS[i][j]].species].type2]; } // Because GF hates temporary vars, trainerId acts like monTypesCount here. @@ -5992,12 +5992,12 @@ static void DecideRoundWinners(u8 roundId) } } species = gFacilityTrainerMons[DOME_MONS[tournamentId1][monId1]].species; - points1 += ( gBaseStats[species].baseHP - + gBaseStats[species].baseAttack - + gBaseStats[species].baseDefense - + gBaseStats[species].baseSpeed - + gBaseStats[species].baseSpAttack - + gBaseStats[species].baseSpDefense) / 10; + points1 += ( gSpeciesInfo[species].baseHP + + gSpeciesInfo[species].baseAttack + + gSpeciesInfo[species].baseDefense + + gSpeciesInfo[species].baseSpeed + + gSpeciesInfo[species].baseSpAttack + + gSpeciesInfo[species].baseSpDefense) / 10; } // Random part of the formula. points1 += (Random() & 0x1F); @@ -6015,12 +6015,12 @@ static void DecideRoundWinners(u8 roundId) } } species = gFacilityTrainerMons[DOME_MONS[tournamentId2][monId1]].species; - points2 += ( gBaseStats[species].baseHP - + gBaseStats[species].baseAttack - + gBaseStats[species].baseDefense - + gBaseStats[species].baseSpeed - + gBaseStats[species].baseSpAttack - + gBaseStats[species].baseSpDefense) / 10; + points2 += ( gSpeciesInfo[species].baseHP + + gSpeciesInfo[species].baseAttack + + gSpeciesInfo[species].baseDefense + + gSpeciesInfo[species].baseSpeed + + gSpeciesInfo[species].baseSpAttack + + gSpeciesInfo[species].baseSpDefense) / 10; } // Random part of the formula. points2 += (Random() & 0x1F); diff --git a/src/battle_factory.c b/src/battle_factory.c index 12e477e323..77f5013877 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -618,9 +618,9 @@ static void GetOpponentMostCommonMonType(void) for (i = 0; i < FRONTIER_PARTY_SIZE; i++) { u32 species = gFacilityTrainerMons[gFrontierTempParty[i]].species; - typeCounts[gBaseStats[species].type1]++; - if (gBaseStats[species].type1 != gBaseStats[species].type2) - typeCounts[gBaseStats[species].type2]++; + typeCounts[gSpeciesInfo[species].type1]++; + if (gSpeciesInfo[species].type1 != gSpeciesInfo[species].type2) + typeCounts[gSpeciesInfo[species].type2]++; } // Determine which are the two most-common types. diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 37dbf0aab6..0c26fdfda8 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -23,7 +23,6 @@ #include "palette.h" #include "contest.h" #include "constants/songs.h" -#include "constants/battle_config.h" #include "constants/rgb.h" #include "constants/battle_palace.h" @@ -78,11 +77,7 @@ static const struct CompressedSpriteSheet sSpriteSheets_HealthBar[MAX_BATTLERS_C {gBlankGfxCompressed, 0x0120, TAG_HEALTHBAR_OPPONENT2_TILE} }; -#if P_ENABLE_DEBUG == TRUE const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = -#else -static const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = -#endif { {gBattleInterface_BallStatusBarPal, TAG_HEALTHBOX_PAL}, {gBattleInterface_BallDisplayPal, TAG_HEALTHBAR_PAL} @@ -164,6 +159,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { gBattleStruct->palaceFlags &= 0xF; gBattleStruct->palaceFlags |= (selectedMoves << 4); + sBattler_AI = gActiveBattler; BattleAI_SetupAIData(selectedMoves); chosenMoveId = BattleAI_ChooseMoveOrAction(); } @@ -171,8 +167,9 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // If no moves matched the selected group, pick a new move from groups the pokemon has // In this case the AI is not checked again, so the choice may be worse // If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway - if (chosenMoveId == -1) + if (chosenMoveId == -1 || chosenMoveId >= MAX_MON_MOVES) { + chosenMoveId = -1; if (unusableMovesBits != 0xF) { validMoveFlags = 0, numValidMoveGroups = 0; diff --git a/src/battle_interface.c b/src/battle_interface.c index 6c3daf8e9d..e8bc316088 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -31,7 +31,6 @@ #include "constants/battle_anim.h" #include "constants/rgb.h" #include "constants/songs.h" -#include "constants/battle_config.h" #include "constants/items.h" enum @@ -325,10 +324,13 @@ static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT] } }; +/* v-- Origin +[0 + ][1 ] 64x8 +*/ static const struct Subsprite sHealthBar_Subsprites_Player[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -345,10 +347,14 @@ static const struct Subsprite sHealthBar_Subsprites_Player[] = } }; +/* v-- Origin +[] [0 + ][1 ] 8x8 + 64x8 +2^ ^--- Note 8px space +*/ static const struct Subsprite sHealthBar_Subsprites_Opponent[] = { { - .x = DISPLAY_WIDTH, + .x = -16, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -364,7 +370,7 @@ static const struct Subsprite sHealthBar_Subsprites_Opponent[] = .priority = 1 }, { - .x = DISPLAY_WIDTH - 16, + .x = -32, .y = 0, .shape = SPRITE_SHAPE(8x8), .size = SPRITE_SIZE(8x8), @@ -378,11 +384,13 @@ static const struct SubspriteTable sHealthBar_SubspriteTables[] = [B_SIDE_PLAYER] = {ARRAY_COUNT(sHealthBar_Subsprites_Player), sHealthBar_Subsprites_Player}, [B_SIDE_OPPONENT] = {ARRAY_COUNT(sHealthBar_Subsprites_Opponent), sHealthBar_Subsprites_Opponent} }; - +/* v-- Origin +[0 ][1 ][2 ][3 ] 128x8 +*/ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = { { - .x = 32 * 5, + .x = 32 * -3, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -390,7 +398,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = .priority = 1 }, { - .x = 32 * 6, + .x = 32 * -2, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -398,7 +406,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = .priority = 1 }, { - .x = 32 * 7, + .x = 32 * -1, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -415,10 +423,14 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Enter[] = } }; +/* v-- Origin +[0 ][1 ][2 ][3 ][4 ][5 ] 192x8 + ^-- uses same tiles --^ +*/ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = { { - .x = 32 * 5, + .x = 32 * -3, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -426,7 +438,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = .priority = 1 }, { - .x = 32 * 6, + .x = 32 * -2, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -434,7 +446,7 @@ static const struct Subsprite sStatusSummaryBar_Subsprites_Exit[] = .priority = 1 }, { - .x = 32 * 7, + .x = 32 * -1, .y = 0, .shape = SPRITE_SHAPE(32x8), .size = SPRITE_SIZE(32x8), @@ -2381,9 +2393,9 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem species = GetMonData(mon, MON_DATA_SPECIES); level = GetMonData(mon, MON_DATA_LEVEL); exp = GetMonData(mon, MON_DATA_EXP); - currLevelExp = gExperienceTables[gBaseStats[species].growthRate][level]; + currLevelExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; currExpBarValue = exp - currLevelExp; - maxExpBarValue = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLevelExp; + maxExpBarValue = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLevelExp; SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0); } diff --git a/src/battle_main.c b/src/battle_main.c index e798796627..d138cf2311 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -52,7 +52,6 @@ #include "wild_encounter.h" #include "window.h" #include "constants/abilities.h" -#include "constants/battle_config.h" #include "constants/battle_move_effects.h" #include "constants/battle_string_ids.h" #include "constants/hold_effects.h" @@ -194,8 +193,8 @@ EWRAM_DATA u16 gMoveResultFlags = 0; EWRAM_DATA u32 gHitMarker = 0; EWRAM_DATA u8 gTakenDmgByBattler[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gUnusedFirstBattleVar2 = 0; // Never read -EWRAM_DATA u32 gSideStatuses[2] = {0}; -EWRAM_DATA struct SideTimer gSideTimers[2] = {0}; +EWRAM_DATA u32 gSideStatuses[NUM_BATTLE_SIDES] = {0}; +EWRAM_DATA struct SideTimer gSideTimers[NUM_BATTLE_SIDES] = {0}; EWRAM_DATA u32 gStatuses3[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u32 gStatuses4[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT] = {0}; @@ -392,6 +391,32 @@ const struct TrainerMoney gTrainerMoneyTable[] = {0xFF, 5}, // Any trainer class not listed above uses this }; +#if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 +static const u16 sTrainerBallTable[TRAINER_CLASS_COUNT] = +{ +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_FRIEND_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_PKMN_BREEDER] = ITEM_HEAL_BALL, +#endif + [TRAINER_CLASS_COOLTRAINER] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_COLLECTOR] = ITEM_PREMIER_BALL, + [TRAINER_CLASS_SWIMMER_M] = ITEM_DIVE_BALL, + [TRAINER_CLASS_BLACK_BELT] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_AQUA_LEADER] = ITEM_MASTER_BALL, + [TRAINER_CLASS_GENTLEMAN] = ITEM_LUXURY_BALL, + [TRAINER_CLASS_ELITE_FOUR] = ITEM_ULTRA_BALL, +#if B_TRAINER_CLASS_POKE_BALLS == GEN_7 + [TRAINER_CLASS_FISHERMAN] = ITEM_LURE_BALL, +#elif B_TRAINER_CLASS_POKE_BALLS == GEN_8 + [TRAINER_CLASS_FISHERMAN] = ITEM_DIVE_BALL, +#endif + [TRAINER_CLASS_SWIMMER_F] = ITEM_DIVE_BALL, + [TRAINER_CLASS_COOLTRAINER_2] = ITEM_ULTRA_BALL, + [TRAINER_CLASS_MAGMA_LEADER] = ITEM_MASTER_BALL, +}; +#endif + #include "data/text/abilities.h" static void (* const sTurnActionsFuncsTable[])(void) = @@ -1847,6 +1872,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir u8 fixedIV; s32 i, j; u8 monsCount; + u16 ball; if (trainerNum == TRAINER_SECRET_BASE) return 0; @@ -1950,6 +1976,11 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir break; } } + + #if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 + ball = (sTrainerBallTable[gTrainers[trainerNum].trainerClass]) ? sTrainerBallTable[gTrainers[trainerNum].trainerClass] : ITEM_POKE_BALL; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); + #endif } gBattleTypeFlags |= gTrainers[trainerNum].doubleBattle; @@ -2969,6 +3000,7 @@ static void BattleStartClearSetData(void) gBattleScripting.monCaught = FALSE; gMultiHitCounter = 0; + gBattleScripting.savedDmg = 0; gBattleOutcome = 0; gBattleControllerExecFlags = 0; gPaydayMoney = 0; @@ -2988,7 +3020,7 @@ static void BattleStartClearSetData(void) gBattleStruct->runTries = 0; gBattleStruct->safariGoNearCounter = 0; gBattleStruct->safariPkblThrowCounter = 0; - gBattleStruct->safariCatchFactor = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; + gBattleStruct->safariCatchFactor = gSpeciesInfo[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; gBattleStruct->safariEscapeFactor = 3; gBattleStruct->wildVictorySong = 0; gBattleStruct->moneyMultiplier = 1; @@ -3010,8 +3042,8 @@ static void BattleStartClearSetData(void) for (i = 0; i < PARTY_SIZE; i++) { - gBattleStruct->usedHeldItems[i][0] = 0; - gBattleStruct->usedHeldItems[i][1] = 0; + gBattleStruct->usedHeldItems[i][B_SIDE_PLAYER] = 0; + gBattleStruct->usedHeldItems[i][B_SIDE_OPPONENT] = 0; gBattleStruct->itemStolen[i].originalItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); gPartyCriticalHits[i] = 0; } @@ -3127,7 +3159,7 @@ 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; Ai_UpdateSwitchInData(gActiveBattler); @@ -3222,8 +3254,8 @@ void FaintClearSetData(void) gBattleResources->flags->flags[gActiveBattler] = 0; - gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; Ai_UpdateFaintData(gActiveBattler); @@ -3232,7 +3264,7 @@ void FaintClearSetData(void) UndoMegaEvolution(gBattlerPartyIndexes[gActiveBattler]); gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; - + // If the fainted mon was involved in a Sky Drop if (gBattleStruct->skyDropTargets[gActiveBattler] != 0xFF) { @@ -3271,6 +3303,11 @@ void FaintClearSetData(void) } } } + + // Clear Z-Move data + gBattleStruct->zmove.active = FALSE; + gBattleStruct->zmove.toBeUsed[gActiveBattler] = MOVE_NONE; + gBattleStruct->zmove.effect = EFFECT_HIT; } static void DoBattleIntro(void) @@ -3320,8 +3357,8 @@ static void DoBattleIntro(void) else { memcpy(&gBattleMons[gActiveBattler], &gBattleResources->bufferB[gActiveBattler][4], sizeof(struct BattlePokemon)); - gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)] = gBattleMons[gActiveBattler].hp; @@ -3683,8 +3720,6 @@ static void TryDoEventsBeforeFirstTurn(void) if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattlerAttacker, 0, 0, 0) != 0) return; } - if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0) - return; if (AbilityBattleEffects(ABILITYEFFECT_TRACE1, 0, 0, 0, 0) != 0) return; // Check all switch in items having effect from the fastest mon to slowest. @@ -3936,7 +3971,8 @@ static void HandleTurnActionSelectionState(void) gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem - if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) && IsBattlerAIControlled(gActiveBattler)) { + if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) + && (IsBattlerAIControlled(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_PALACE))) { gBattleStruct->aiMoveOrAction[gActiveBattler] = ComputeBattleAiScores(gActiveBattler); } break; @@ -4804,12 +4840,14 @@ static void TurnValuesCleanUp(bool8 var0) if (gDisableStructs[gActiveBattler].substituteHP == 0) gBattleMons[gActiveBattler].status2 &= ~STATUS2_SUBSTITUTE; + + gSpecialStatuses[gActiveBattler].parentalBondState = PARENTAL_BOND_OFF; } - gSideStatuses[0] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); - gSideStatuses[1] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); - gSideTimers[0].followmeTimer = 0; - gSideTimers[1].followmeTimer = 0; + gSideStatuses[B_SIDE_PLAYER] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); + gSideStatuses[B_SIDE_OPPONENT] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); + gSideTimers[B_SIDE_PLAYER].followmeTimer = 0; + gSideTimers[B_SIDE_OPPONENT].followmeTimer = 0; } void SpecialStatusesClear(void) diff --git a/src/battle_message.c b/src/battle_message.c index 568aac774d..031261a289 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -589,7 +589,7 @@ static const u8 sText_PsychicTerrainEnds[] = _("The weirdness disappeared\nfrom static const u8 sText_GrassyTerrainEnds[] = _("The grass disappeared\nfrom the battlefield."); static const u8 sText_TargetsStatWasMaxedOut[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed\nits {B_BUFF1}!"); static const u8 sText_PoisonHealHpUp[] = _("The poisoning healed {B_ATK_NAME_WITH_PREFIX}\na little bit!"); -static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented\nby {B_ATK_ABILITY}!"); +static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented!"); static const u8 sText_MoldBreakerEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} breaks the mold!"); static const u8 sText_TeravoltEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating \na bursting aura!"); static const u8 sText_TurboblazeEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na blazing aura!"); @@ -759,10 +759,12 @@ static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREF static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!"); static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); - +static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!"); +static const u8 sText_AttackerSwitchedStatWithTarget[] = _("{B_ATK_NAME_WITH_PREFIX} switched {B_BUFF1}\nwith its target!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_ATTACKERSWITCHEDSTATWITHTARGET - BATTLESTRINGS_TABLE_START] = sText_AttackerSwitchedStatWithTarget, [STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut, [STRINGID_ATTACKERMELTEDTHEICE - BATTLESTRINGS_TABLE_START] = sText_AttackerMeltedTheIce, [STRINGID_ATTACKERHEALEDITSBURN - BATTLESTRINGS_TABLE_START] = sText_AttackerHealedItsBurn, @@ -1381,6 +1383,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE - BATTLESTRINGS_TABLE_START] = sText_CantEscapeBecauseOfCurrentMove, [STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh, [STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy, + [STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType, }; const u16 gZEffectStringIds[] = diff --git a/src/battle_pike.c b/src/battle_pike.c index f863282427..dd30289239 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -17,7 +17,6 @@ #include "constants/battle_frontier.h" #include "constants/frontier_util.h" #include "constants/abilities.h" -#include "constants/battle_config.h" #include "constants/layouts.h" #include "constants/rgb.h" #include "constants/trainers.h" @@ -849,24 +848,24 @@ static bool8 DoesTypePreventStatus(u16 species, u32 status) switch (status) { case STATUS1_TOXIC_POISON: - if (gBaseStats[species].type1 == TYPE_STEEL || gBaseStats[species].type1 == TYPE_POISON - || gBaseStats[species].type2 == TYPE_STEEL || gBaseStats[species].type2 == TYPE_POISON) + if (gSpeciesInfo[species].type1 == TYPE_STEEL || gSpeciesInfo[species].type1 == TYPE_POISON + || gSpeciesInfo[species].type2 == TYPE_STEEL || gSpeciesInfo[species].type2 == TYPE_POISON) ret = TRUE; break; case STATUS1_FREEZE: - if (gBaseStats[species].type1 == TYPE_ICE || gBaseStats[species].type2 == TYPE_ICE) + if (gSpeciesInfo[species].type1 == TYPE_ICE || gSpeciesInfo[species].type2 == TYPE_ICE) ret = TRUE; break; case STATUS1_PARALYSIS: - if (gBaseStats[species].type1 == TYPE_GROUND || gBaseStats[species].type2 == TYPE_GROUND + if (gSpeciesInfo[species].type1 == TYPE_GROUND || gSpeciesInfo[species].type2 == TYPE_GROUND #if B_PARALYZE_ELECTRIC >= GEN_6 - || gBaseStats[species].type1 == TYPE_ELECTRIC || gBaseStats[species].type2 == TYPE_ELECTRIC + || gSpeciesInfo[species].type1 == TYPE_ELECTRIC || gSpeciesInfo[species].type2 == TYPE_ELECTRIC #endif ) ret = TRUE; break; case STATUS1_BURN: - if (gBaseStats[species].type1 == TYPE_FIRE || gBaseStats[species].type2 == TYPE_FIRE) + if (gSpeciesInfo[species].type1 == TYPE_FIRE || gSpeciesInfo[species].type2 == TYPE_FIRE) ret = TRUE; break; case STATUS1_SLEEP: @@ -1145,9 +1144,9 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate) SetMonData(&gEnemyParty[0], MON_DATA_EXP, - &gExperienceTables[gBaseStats[wildMons[headerId][pikeMonId].species].growthRate][monLevel]); + &gExperienceTables[gSpeciesInfo[wildMons[headerId][pikeMonId].species].growthRate][monLevel]); - if (gBaseStats[wildMons[headerId][pikeMonId].species].abilities[1]) + if (gSpeciesInfo[wildMons[headerId][pikeMonId].species].abilities[1]) abilityNum = Random() % 2; else abilityNum = 0; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 2c1e20d0d4..336582ba59 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1371,7 +1371,7 @@ void GenerateBattlePyramidWildMon(void) } SetMonData(&gEnemyParty[0], MON_DATA_EXP, - &gExperienceTables[gBaseStats[wildMons[id].species].growthRate][lvl]); + &gExperienceTables[gSpeciesInfo[wildMons[id].species].growthRate][lvl]); switch (wildMons[id].abilityNum) { @@ -1381,7 +1381,7 @@ void GenerateBattlePyramidWildMon(void) break; case ABILITY_RANDOM: default: - if (gBaseStats[wildMons[id].species].abilities[1]) + if (gSpeciesInfo[wildMons[id].species].abilities[1]) { i = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL) % 2; SetMonData(&gEnemyParty[0], MON_DATA_ABILITY_NUM, &i); diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 7a4d981f01..4f72a7463f 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -160,7 +160,7 @@ static const struct ListMenuTemplate sListMenuTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NARROW, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; enum { @@ -645,7 +645,7 @@ static void BagCursorMoved(s32 itemIndex, bool8 onInit, struct ListMenu *list) if (itemIndex != LIST_CANCEL) ShowItemIcon(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][itemIndex], gPyramidBagMenu->isAltIcon); else - ShowItemIcon(0xFFFF, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel + ShowItemIcon(ITEM_LIST_END, gPyramidBagMenu->isAltIcon); // Show exit arrow if on Cancel gPyramidBagMenu->isAltIcon ^= 1; PrintItemDescription(itemIndex); } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8057ea067f..9c780c28ee 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -37,7 +37,6 @@ #include "wild_encounter.h" #include "rtc.h" #include "party_menu.h" -#include "constants/battle_config.h" #include "battle_arena.h" #include "battle_pike.h" #include "battle_pyramid.h" @@ -318,6 +317,7 @@ static void DrawLevelUpBannerText(void); static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite); static bool32 CriticalCapture(u32 odds); static void BestowItem(u32 battlerAtk, u32 battlerDef); +static bool8 IsFinalStrikeEffect(u16 move); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -544,7 +544,7 @@ static void Cmd_setuserstatus3(void); static void Cmd_assistattackselect(void); static void Cmd_trysetmagiccoat(void); static void Cmd_trysetsnatch(void); -static void Cmd_trygetintimidatetarget(void); +static void Cmd_unused2(void); static void Cmd_switchoutabilities(void); static void Cmd_jumpifhasnohp(void); static void Cmd_getsecretpowereffect(void); @@ -572,9 +572,9 @@ static void Cmd_settelekinesis(void); static void Cmd_swapstatstages(void); static void Cmd_averagestats(void); static void Cmd_jumpifoppositegenders(void); -static void Cmd_trygetbaddreamstarget(void); +static void Cmd_unused(void); static void Cmd_tryworryseed(void); -static void Cmd_metalburstdamagecalculator(void); +static void Cmd_callnative(void); void (* const gBattleScriptingCommandsTable[])(void) = { @@ -803,7 +803,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_assistattackselect, //0xDE Cmd_trysetmagiccoat, //0xDF Cmd_trysetsnatch, //0xE0 - Cmd_trygetintimidatetarget, //0xE1 + Cmd_unused2, //0xE1 Cmd_switchoutabilities, //0xE2 Cmd_jumpifhasnohp, //0xE3 Cmd_getsecretpowereffect, //0xE4 @@ -831,9 +831,9 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_swapstatstages, //0xFA Cmd_averagestats, //0xFB Cmd_jumpifoppositegenders, //0xFC - Cmd_trygetbaddreamstarget, //0xFD + Cmd_unused, //0xFD Cmd_tryworryseed, //0xFE - Cmd_metalburstdamagecalculator, //0xFF + Cmd_callnative, //0xFF }; const struct StatFractions gAccuracyStageRatios[] = @@ -884,8 +884,6 @@ static const u8 *const sMoveEffectBS_Ptrs[] = [MOVE_EFFECT_UPROAR] = BattleScript_MoveEffectUproar, [MOVE_EFFECT_PAYDAY] = BattleScript_MoveEffectPayDay, [MOVE_EFFECT_WRAP] = BattleScript_MoveEffectWrap, - [MOVE_EFFECT_RECOIL_25] = BattleScript_MoveEffectRecoil, - [MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil, }; static const struct WindowTemplate sUnusedWinTemplate = @@ -938,6 +936,7 @@ static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX / #define FORBIDDEN_COPYCAT (1 << 3) #define FORBIDDEN_SLEEP_TALK (1 << 4) #define FORBIDDEN_INSTRUCT (1 << 5) +#define FORBIDDEN_PARENTAL_BOND (1 << 6) static const u8 sForbiddenMoves[MOVES_COUNT] = { @@ -945,28 +944,35 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_STRUGGLE] = 0xFF, // Neither Struggle [MOVE_AFTER_YOU] = FORBIDDEN_METRONOME, [MOVE_APPLE_ACID] = FORBIDDEN_METRONOME, + [MOVE_ARM_THRUST] = FORBIDDEN_PARENTAL_BOND, [MOVE_ASSIST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_ASTRAL_BARRAGE] = FORBIDDEN_METRONOME, [MOVE_AURA_WHEEL] = FORBIDDEN_METRONOME, [MOVE_BADDY_BAD] = FORBIDDEN_METRONOME, [MOVE_BANEFUL_BUNKER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, + [MOVE_BARRAGE] = FORBIDDEN_PARENTAL_BOND, [MOVE_BEAK_BLAST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BEAT_UP] = FORBIDDEN_PARENTAL_BOND, [MOVE_BEHEMOTH_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_BEHEMOTH_BLADE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_BELCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_BESTOW] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BIDE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BIDE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, // Note: Bide should work with Parental Bond. This will be addressed in future. [MOVE_BLAST_BURN] = FORBIDDEN_INSTRUCT, [MOVE_BODY_PRESS] = FORBIDDEN_METRONOME, - [MOVE_BOUNCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_BONE_RUSH] = FORBIDDEN_PARENTAL_BOND, + [MOVE_BONEMERANG] = FORBIDDEN_PARENTAL_BOND, + [MOVE_BOUNCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_BOUNCY_BUBBLE] = FORBIDDEN_METRONOME, [MOVE_BRANCH_POKE] = FORBIDDEN_METRONOME, [MOVE_BREAKING_SWIPE] = FORBIDDEN_METRONOME, + [MOVE_BULLET_SEED] = FORBIDDEN_PARENTAL_BOND, [MOVE_BUZZY_BUZZ] = FORBIDDEN_METRONOME, [MOVE_CELEBRATE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_CHATTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_CIRCLE_THROW] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_CLANGOROUS_SOUL] = FORBIDDEN_METRONOME, + [MOVE_COMET_PUNCH] = FORBIDDEN_PARENTAL_BOND, [MOVE_COPYCAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_COUNTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_COVET] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, @@ -975,41 +981,57 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_DESTINY_BOND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DETECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DIAMOND_STORM] = FORBIDDEN_METRONOME, - [MOVE_DIG] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_DIVE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_DOUBLE_IRON_BASH] = FORBIDDEN_METRONOME, + [MOVE_DIG] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_DIVE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_IRON_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_HIT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_KICK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DOUBLE_SLAP] = FORBIDDEN_PARENTAL_BOND, [MOVE_DRAGON_ASCENT] = FORBIDDEN_METRONOME, [MOVE_DRAGON_ENERGY] = FORBIDDEN_METRONOME, + [MOVE_DRAGON_DARTS] = FORBIDDEN_PARENTAL_BOND, [MOVE_DRAGON_TAIL] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_DRUM_BEATING] = FORBIDDEN_METRONOME, + [MOVE_DUAL_CHOP] = FORBIDDEN_PARENTAL_BOND, + [MOVE_DUAL_WINGBEAT] = FORBIDDEN_PARENTAL_BOND, [MOVE_DYNAMAX_CANNON] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_ENDEAVOR] = FORBIDDEN_PARENTAL_BOND, [MOVE_ENDURE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ETERNABEAM] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, + [MOVE_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, [MOVE_FALSE_SURRENDER] = FORBIDDEN_METRONOME, [MOVE_FEINT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_FIERY_WRATH] = FORBIDDEN_METRONOME, + [MOVE_FINAL_GAMBIT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_FISSURE] = FORBIDDEN_PARENTAL_BOND, [MOVE_FLEUR_CANNON] = FORBIDDEN_METRONOME, + [MOVE_FLING] = FORBIDDEN_PARENTAL_BOND, [MOVE_FLOATY_FALL] = FORBIDDEN_METRONOME, - [MOVE_FLY] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FLY] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_FOCUS_PUNCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_FOLLOW_ME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_FREEZE_SHOCK] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FREEZE_SHOCK] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT| FORBIDDEN_PARENTAL_BOND, [MOVE_FREEZING_GLARE] = FORBIDDEN_METRONOME, [MOVE_FREEZY_FROST] = FORBIDDEN_METRONOME, - [MOVE_FRENZY_PLANT] = FORBIDDEN_INSTRUCT, - [MOVE_GEOMANCY] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_FURY_ATTACK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_FURY_SWIPES] = FORBIDDEN_PARENTAL_BOND, + [MOVE_GEAR_GRIND] = FORBIDDEN_PARENTAL_BOND, + [MOVE_GEOMANCY] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_GIGA_IMPACT] = FORBIDDEN_INSTRUCT, [MOVE_GLACIAL_LANCE] = FORBIDDEN_METRONOME, [MOVE_GLITZY_GLOW] = FORBIDDEN_METRONOME, [MOVE_GRAV_APPLE] = FORBIDDEN_METRONOME, + [MOVE_GUILLOTINE] = FORBIDDEN_PARENTAL_BOND, [MOVE_HELPING_HAND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_HOLD_HANDS] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_HORN_DRILL] = FORBIDDEN_PARENTAL_BOND, [MOVE_HYDRO_CANNON] = FORBIDDEN_INSTRUCT, [MOVE_HYPER_BEAM] = FORBIDDEN_INSTRUCT, [MOVE_HYPERSPACE_FURY] = FORBIDDEN_METRONOME, [MOVE_HYPERSPACE_HOLE] = FORBIDDEN_METRONOME, - [MOVE_ICE_BALL] = FORBIDDEN_INSTRUCT, - [MOVE_ICE_BURN] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_ICE_BALL] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_ICE_BURN] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_ICICLE_SPEAR] = FORBIDDEN_PARENTAL_BOND, [MOVE_INSTRUCT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, [MOVE_JUNGLE_HEALING] = FORBIDDEN_METRONOME, [MOVE_KINGS_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, @@ -1018,12 +1040,13 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_MAT_BLOCK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ME_FIRST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_METEOR_ASSAULT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, - [MOVE_METEOR_BEAM] = FORBIDDEN_INSTRUCT, + [MOVE_METEOR_BEAM] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_METRONOME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_MIMIC] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_MIND_BLOWN] = FORBIDDEN_METRONOME, [MOVE_MIRROR_COAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_MIRROR_MOVE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_MISTY_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, [MOVE_MOONGEIST_BEAM] = FORBIDDEN_METRONOME, [MOVE_NATURE_POWER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_NATURES_MADNESS] = FORBIDDEN_METRONOME, @@ -1031,42 +1054,43 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_ORIGIN_PULSE] = FORBIDDEN_METRONOME, [MOVE_OUTRAGE] = FORBIDDEN_INSTRUCT, [MOVE_OVERDRIVE] = FORBIDDEN_METRONOME, - [MOVE_PETAL_DANCE] = FORBIDDEN_INSTRUCT, - [MOVE_PHANTOM_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_PHANTOM_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_PHOTON_GEYSER] = FORBIDDEN_METRONOME, - [MOVE_PIKA_PAPOW] = FORBIDDEN_METRONOME, - [MOVE_PLASMA_FISTS] = FORBIDDEN_METRONOME, - [MOVE_PRECIPICE_BLADES] = FORBIDDEN_METRONOME, [MOVE_PRISMATIC_LASER] = FORBIDDEN_INSTRUCT, [MOVE_PROTECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_PYRO_BALL] = FORBIDDEN_METRONOME, [MOVE_QUASH] = FORBIDDEN_METRONOME, [MOVE_QUICK_GUARD] = FORBIDDEN_METRONOME, [MOVE_RAGE_POWDER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_RAZOR_WIND] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_RAZOR_WIND] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_RELIC_SONG] = FORBIDDEN_METRONOME, [MOVE_ROAR] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_ROAR_OF_TIME] = FORBIDDEN_INSTRUCT, + [MOVE_ROCK_BLAST] = FORBIDDEN_PARENTAL_BOND, [MOVE_ROCK_WRECKER] = FORBIDDEN_INSTRUCT, - [MOVE_ROLLOUT] = FORBIDDEN_INSTRUCT, + [MOVE_ROLLOUT] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SAPPY_SEED] = FORBIDDEN_METRONOME, + [MOVE_SCALE_SHOT] = FORBIDDEN_PARENTAL_BOND, [MOVE_SECRET_SWORD] = FORBIDDEN_METRONOME, - [MOVE_SHADOW_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SELF_DESTRUCT] = FORBIDDEN_PARENTAL_BOND, + [MOVE_SHADOW_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SHEER_COLD] = FORBIDDEN_PARENTAL_BOND, [MOVE_SHELL_TRAP] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_SIZZLY_SLIDE] = FORBIDDEN_METRONOME, [MOVE_SKETCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKULL_BASH] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKY_ATTACK] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKY_DROP] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SKULL_BASH] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SKY_ATTACK] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SKY_DROP] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SLEEP_TALK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, [MOVE_SNAP_TRAP] = FORBIDDEN_METRONOME, [MOVE_SNARL] = FORBIDDEN_METRONOME, [MOVE_SNATCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, [MOVE_SNORE] = FORBIDDEN_METRONOME, - [MOVE_SOLAR_BEAM] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SOLAR_BLADE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_SOLAR_BEAM] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, + [MOVE_SOLAR_BLADE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_SPARKLY_SWIRL] = FORBIDDEN_METRONOME, [MOVE_SPECTRAL_THIEF] = FORBIDDEN_METRONOME, + [MOVE_SPIKE_CANNON] = FORBIDDEN_PARENTAL_BOND, [MOVE_SPIKY_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_SPIRIT_BREAK] = FORBIDDEN_METRONOME, [MOVE_SPLISHY_SPLASH] = FORBIDDEN_METRONOME, @@ -1075,8 +1099,9 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_STEEL_BEAM] = FORBIDDEN_METRONOME, [MOVE_STRANGE_STEAM] = FORBIDDEN_METRONOME, [MOVE_SUNSTEEL_STRIKE] = FORBIDDEN_METRONOME, - [MOVE_SURGING_STRIKES] = FORBIDDEN_METRONOME, + [MOVE_SURGING_STRIKES] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, [MOVE_SWITCHEROO] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, + [MOVE_TAIL_SLAP] = FORBIDDEN_PARENTAL_BOND, [MOVE_TECHNO_BLAST] = FORBIDDEN_METRONOME, [MOVE_THIEF] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_THOUSAND_ARROWS] = FORBIDDEN_METRONOME, @@ -1086,15 +1111,37 @@ static const u8 sForbiddenMoves[MOVES_COUNT] = [MOVE_THUNDEROUS_KICK] = FORBIDDEN_METRONOME, [MOVE_TRANSFORM] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_INSTRUCT, [MOVE_TRICK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_UPROAR] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, + [MOVE_TRIPLE_AXEL] = FORBIDDEN_PARENTAL_BOND, + [MOVE_TRIPLE_KICK] = FORBIDDEN_PARENTAL_BOND, + [MOVE_TWINEEDLE] = FORBIDDEN_PARENTAL_BOND, + [MOVE_UPROAR] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, [MOVE_V_CREATE] = FORBIDDEN_METRONOME, [MOVE_VEEVEE_VOLLEY] = FORBIDDEN_METRONOME, + [MOVE_WATER_SHURIKEN] = FORBIDDEN_PARENTAL_BOND, [MOVE_WHIRLWIND] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, [MOVE_WICKED_BLOW] = FORBIDDEN_METRONOME, [MOVE_WIDE_GUARD] = FORBIDDEN_METRONOME, [MOVE_ZIPPY_ZAP] = FORBIDDEN_METRONOME, }; +static const u16 sFinalStrikeOnlyEffects[] = +{ + EFFECT_RELIC_SONG, + EFFECT_BUG_BITE, + EFFECT_THIEF, + EFFECT_BURN_UP, + EFFECT_DOUBLE_SHOCK, + EFFECT_SECRET_POWER, + EFFECT_SMACK_DOWN, + EFFECT_SPARKLING_ARIA, + EFFECT_SMELLINGSALT, + EFFECT_WAKE_UP_SLAP, + EFFECT_HIT_ESCAPE, + EFFECT_RECOIL_HP_25, + EFFECT_HIT_PREVENT_ESCAPE, + EFFECT_HIT_SWITCH_TARGET, +}; + static const u16 sNaturePowerMoves[BATTLE_TERRAIN_COUNT] = { #if B_NATURE_POWER_MOVES >= GEN_7 @@ -1404,6 +1451,18 @@ static void Cmd_attackcanceler(void) if (AtkCanceller_UnableToUseMove()) return; + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_OFF + && GetBattlerAbility(gBattlerAttacker) == ABILITY_PARENTAL_BOND + && IsMoveAffectedByParentalBond(gCurrentMove, gBattlerAttacker) + && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE) + { + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_1ST_HIT; + gMultiHitCounter = 2; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + return; + } + // Check Protean activation. if ((attackerAbility == ABILITY_PROTEAN || attackerAbility == ABILITY_LIBERO) && (gBattleMons[gBattlerAttacker].type1 != moveType || gBattleMons[gBattlerAttacker].type2 != moveType || @@ -1535,6 +1594,13 @@ static void Cmd_attackcanceler(void) gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBattlerTarget] = 0; gLastHitByType[gBattlerTarget] = 0; + + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT) + { + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_OFF; // No second hit if first hit was blocked + gSpecialStatuses[gBattlerAttacker].multiHitOn = 0; + gMultiHitCounter = 0; + } gBattleCommunication[MISS_TYPE] = B_MSG_PROTECTED; gBattlescriptCurrInstr++; } @@ -1760,7 +1826,7 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u #if B_AFFECTION_MECHANICS == TRUE // With high affection/friendship there's a chance to evade a move by substracting 10% of its accuracy. // I can't find exact information about that chance, so I'm just gonna write it as a 20% chance for now. - if (GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[battlerDef]]) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) + if (GetBattlerFriendshipScore(battlerDef) >= FRIENDSHIP_150_TO_199 && (Random() % 100) <= 20) calc = (calc * 90) / 100; #endif @@ -1784,6 +1850,13 @@ static void Cmd_accuracycheck(void) else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; } + else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT + || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (gBattleMoves[move].effect != EFFECT_TRIPLE_KICK + || GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK))) + { + // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel + gBattlescriptCurrInstr += 7; + } else { GET_MOVE_TYPE(move, type); @@ -1866,7 +1939,8 @@ static void Cmd_ppreduce(void) // For item Metronome, echoed voice if (gCurrentMove == gLastResultingMoves[gBattlerAttacker] && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && !WasUnableToUseMove(gBattlerAttacker)) + && !WasUnableToUseMove(gBattlerAttacker) + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit gBattleStruct->sameMoveTurns[gBattlerAttacker]++; else gBattleStruct->sameMoveTurns[gBattlerAttacker] = 0; @@ -1933,7 +2007,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) #if B_AFFECTION_MECHANICS == TRUE - + 2 * (GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]) >= FRIENDSHIP_200_TO_254) + + 2 * (GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) #endif + (abilityAtk == ABILITY_SUPER_LUCK); @@ -2003,7 +2077,7 @@ static void Cmd_adjustdamage(void) { u8 holdEffect, param; u32 moveType; - u32 friendshipScore = GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]); + u32 friendshipScore = GetBattlerFriendshipScore(gBattlerTarget); u32 rand = Random() % 100; GET_MOVE_TYPE(gCurrentMove, moveType); @@ -2183,6 +2257,12 @@ static void Cmd_attackanimation(void) } else { + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT) // No animation on second hit + { + gBattlescriptCurrInstr++; + return; + } + if ((moveTarget & MOVE_TARGET_BOTH || moveTarget & MOVE_TARGET_FOES_AND_ALLY || moveTarget & MOVE_TARGET_DEPENDS) @@ -2470,10 +2550,12 @@ static void Cmd_resultmessage(void) switch (gMoveResultFlags & ~MOVE_RESULT_MISSED) { case MOVE_RESULT_SUPER_EFFECTIVE: - stringId = STRINGID_SUPEREFFECTIVE; + if (!gMultiHitCounter) // Don't print effectiveness on each hit in a multi hit attack + stringId = STRINGID_SUPEREFFECTIVE; break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - stringId = STRINGID_NOTVERYEFFECTIVE; + if (!gMultiHitCounter) + stringId = STRINGID_NOTVERYEFFECTIVE; break; case MOVE_RESULT_ONE_HIT_KO: stringId = STRINGID_ONEHITKO; @@ -2562,7 +2644,6 @@ static void Cmd_resultmessage(void) if (gSpecialStatuses[gBattlerTarget].berryReduced && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - gLastUsedItem = gBattleMons[gBattlerTarget].item; gSpecialStatuses[gBattlerTarget].berryReduced = FALSE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PrintBerryReduceString; @@ -2709,9 +2790,19 @@ void SetMoveEffect(bool32 primary, u32 certain) u32 flags = 0; u16 battlerAbility; + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT + && gBattleMons[gBattlerTarget].hp != 0 + && IsFinalStrikeEffect(gCurrentMove)) + { + gBattlescriptCurrInstr++; + return; + } + switch (gBattleScripting.moveEffect) // Set move effects which happen later on { case MOVE_EFFECT_KNOCK_OFF: + case MOVE_EFFECT_SMACK_DOWN: + case MOVE_EFFECT_REMOVE_STATUS: gBattleStruct->moveEffect2 = gBattleScripting.moveEffect; gBattlescriptCurrInstr++; return; @@ -2748,7 +2839,8 @@ void SetMoveEffect(bool32 primary, u32 certain) if (gBattleMons[gEffectBattler].hp == 0 && gBattleScripting.moveEffect != MOVE_EFFECT_PAYDAY - && gBattleScripting.moveEffect != MOVE_EFFECT_STEAL_ITEM) + && gBattleScripting.moveEffect != MOVE_EFFECT_STEAL_ITEM + && gBattleScripting.moveEffect != MOVE_EFFECT_BUG_BITE) INCREMENT_RESET_RETURN if (DoesSubstituteBlockMove(gBattlerAttacker, gEffectBattler, gCurrentMove) && affectsUser != MOVE_EFFECT_AFFECTS_USER) @@ -3074,15 +3166,21 @@ void SetMoveEffect(bool32 primary, u32 certain) } break; case MOVE_EFFECT_PAYDAY: - if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER) + // Don't scatter coins on the second hit of Parental Bond + if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && gSpecialStatuses[gBattlerAttacker].parentalBondState!= PARENTAL_BOND_2ND_HIT) { u16 payday = gPaydayMoney; gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); if (payday > gPaydayMoney) gPaydayMoney = 0xFFFF; + + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_MoveEffectPayDay; + } + else + { + gBattlescriptCurrInstr++; } - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; break; case MOVE_EFFECT_HAPPY_HOUR: if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierMove) @@ -3320,34 +3418,6 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_RapidSpinAway; break; - case MOVE_EFFECT_REMOVE_STATUS: // Smelling salts - if (!(gBattleMons[gBattlerTarget].status1 & gBattleMoves[gCurrentMove].argument)) - { - gBattlescriptCurrInstr++; - } - else - { - gBattleMons[gBattlerTarget].status1 &= ~gBattleMoves[gCurrentMove].argument; - - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); - - BattleScriptPush(gBattlescriptCurrInstr + 1); - switch (gBattleMoves[gCurrentMove].argument) - { - case STATUS1_PARALYSIS: - gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; - break; - case STATUS1_SLEEP: - gBattlescriptCurrInstr = BattleScript_TargetWokeUp; - break; - case STATUS1_BURN: - gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; - break; - } - } - break; case MOVE_EFFECT_ATK_DEF_DOWN: // SuperPower if (!NoAliveMonsForEitherParty()) { @@ -3362,42 +3432,12 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_DefSpDefDown; } break; - case MOVE_EFFECT_RECOIL_25: // Take Down, 25% recoil - gBattleMoveDamage = (gHpDealt) / 4; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; - break; - case MOVE_EFFECT_RECOIL_33: // Double Edge, 33 % recoil - gBattleMoveDamage = gHpDealt / 3; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; - break; - case MOVE_EFFECT_RECOIL_50: // Head Smash, 50 % recoil - gBattleMoveDamage = gHpDealt / 2; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; - break; - case MOVE_EFFECT_RECOIL_33_STATUS: // Flare Blitz - can burn, Volt Tackle - can paralyze - gBattleScripting.savedDmg = gHpDealt / 3; - if (gBattleScripting.savedDmg == 0) - gBattleScripting.savedDmg = 1; - - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectRecoilWithStatus; - break; case MOVE_EFFECT_RECOIL_HP_25: // Struggle gBattleMoveDamage = (gBattleMons[gEffectBattler].maxHP) / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; + if (GetBattlerAbility(gEffectBattler) == ABILITY_PARENTAL_BOND) + gBattleMoveDamage *= 2; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; @@ -3435,15 +3475,6 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_MoveEffectClearSmog; } break; - case MOVE_EFFECT_SMACK_DOWN: - if (!IsBattlerGrounded(gBattlerTarget)) - { - gStatuses3[gBattlerTarget] |= STATUS3_SMACKED_DOWN; - gStatuses3[gBattlerTarget] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR); - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectSmackDown; - } - break; case MOVE_EFFECT_FLAME_BURST: if (IsBattlerAlive(BATTLE_PARTNER(gBattlerTarget)) && GetBattlerAbility(BATTLE_PARTNER(gBattlerTarget)) != ABILITY_MAGIC_GUARD) { @@ -3466,16 +3497,11 @@ void SetMoveEffect(bool32 primary, u32 certain) gProtectStructs[gBattlerTarget].kingsShielded = FALSE; gProtectStructs[gBattlerTarget].banefulBunkered = FALSE; gProtectStructs[gBattlerTarget].obstructed = FALSE; - if (gCurrentMove == MOVE_FEINT) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; - } - else if (gCurrentMove == MOVE_HYPERSPACE_FURY) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); + BattleScriptPush(gBattlescriptCurrInstr + 1); + if (gCurrentMove == MOVE_HYPERSPACE_FURY) gBattlescriptCurrInstr = BattleScript_HyperspaceFuryRemoveProtect; - } + else + gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } break; case MOVE_EFFECT_SPECTRAL_THIEF: @@ -3570,11 +3596,6 @@ void SetMoveEffect(bool32 primary, u32 certain) BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); MarkBattlerForControllerExec(gActiveBattler); - - // attacker temporarily gains their item - gBattleStruct->changedItems[gBattlerAttacker] = gBattleMons[gBattlerAttacker].item; - gBattleMons[gBattlerAttacker].item = gLastUsedItem; - BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectBugBite; } @@ -3616,6 +3637,16 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_DefDownSpeedUp; } break; + case MOVE_EFFECT_BURN_UP: + // This seems unnecessary but is done to make it work properly with Parental Bond + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_BurnUpRemoveType; + break; + case MOVE_EFFECT_DOUBLE_SHOCK: + // This seems unnecessary but is done to make it work properly with Parental Bond + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DoubleShockRemoveType; + break; } } } @@ -4006,9 +4037,9 @@ static void Cmd_getexp(void) viaExpShare++; } #if (B_SCALED_EXP >= GEN_5) && (B_SCALED_EXP != GEN_6) - calculatedExp = gBaseStats[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 5; + calculatedExp = gSpeciesInfo[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 5; #else - calculatedExp = gBaseStats[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 7; + calculatedExp = gSpeciesInfo[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 7; #endif #if B_SPLIT_EXP < GEN_6 @@ -4113,7 +4144,7 @@ static void Cmd_getexp(void) } #endif #if B_AFFECTION_MECHANICS == TRUE - if (GetMonFriendshipScore(&gPlayerParty[gBattleStruct->expGetterMonId]) >= FRIENDSHIP_50_TO_99) + if (GetBattlerFriendshipScore(gBattleStruct->expGetterMonId) >= FRIENDSHIP_50_TO_99) gBattleMoveDamage = (gBattleMoveDamage * 120) / 100; #endif @@ -4771,22 +4802,24 @@ static void Cmd_setroost(void) { gBattleStruct->roostTypes[gBattlerAttacker][0] = TYPE_FLYING; gBattleStruct->roostTypes[gBattlerAttacker][1] = TYPE_FLYING; - gBattleStruct->roostTypes[gBattlerAttacker][2] = TYPE_FLYING; +#if B_ROOST_PURE_FLYING >= GEN_5 SET_BATTLER_TYPE(gBattlerAttacker, TYPE_NORMAL); +#else + SET_BATTLER_TYPE(gBattlerAttacker, TYPE_MYSTERY); +#endif } - // Dual Type with Flying Type. - else if ((gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING && gBattleMons[gBattlerAttacker].type2 != TYPE_FLYING) - ||(gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING && gBattleMons[gBattlerAttacker].type1 != TYPE_FLYING)) + // Dual type with flying type. + else if (gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING || gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) { gBattleStruct->roostTypes[gBattlerAttacker][0] = gBattleMons[gBattlerAttacker].type1; gBattleStruct->roostTypes[gBattlerAttacker][1] = gBattleMons[gBattlerAttacker].type2; if (gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING) gBattleMons[gBattlerAttacker].type1 = TYPE_MYSTERY; - if (gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) + else if (gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) gBattleMons[gBattlerAttacker].type2 = TYPE_MYSTERY; } // Non-flying type. - else if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_FLYING)) + else { gBattleStruct->roostTypes[gBattlerAttacker][0] = gBattleMons[gBattlerAttacker].type1; gBattleStruct->roostTypes[gBattlerAttacker][1] = gBattleMons[gBattlerAttacker].type2; @@ -5134,6 +5167,10 @@ static void Cmd_moveend(void) { switch (gBattleScripting.moveendState) { + case MOVEEND_SUM_DAMAGE: // Sum and store damage dealt for multi strike recoil + gBattleScripting.savedDmg += gHpDealt; + gBattleScripting.moveendState++; + break; case MOVEEND_PROTECT_LIKE_EFFECT: if (gProtectStructs[gBattlerAttacker].touchedProtectLike) { @@ -5232,6 +5269,42 @@ static void Cmd_moveend(void) } gBattleScripting.moveendState++; break; + case MOVEEND_RECOIL: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + && IsBattlerAlive(gBattlerAttacker) + && gBattleScripting.savedDmg != 0) // Some checks may be redundant alongside this one + { + switch (gBattleMoves[gCurrentMove].effect) + { + case EFFECT_RECOIL_25: // Take Down, 25% recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 4); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_33: // Double Edge, 33 % recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 3); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_50: // Head Smash, 50 % recoil + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 2); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoil; + effect = TRUE; + break; + case EFFECT_RECOIL_33_STATUS: // Flare Blitz - can burn, Volt Tackle - can paralyze + gBattleMoveDamage = max(1, gBattleScripting.savedDmg / 3); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MoveEffectRecoilWithStatus; + effect = TRUE; + break; + } + } + gBattleScripting.moveendState++; + break; case MOVEEND_SYNCHRONIZE_TARGET: // target synchronize if (AbilityBattleEffects(ABILITYEFFECT_SYNCHRONIZE, gBattlerTarget, 0, 0, 0)) effect = TRUE; @@ -5299,15 +5372,51 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; case MOVEEND_MOVE_EFFECTS2: // For effects which should happen after target items, for example Knock Off after damage from Rocky Helmet. + { switch (gBattleStruct->moveEffect2) { case MOVE_EFFECT_KNOCK_OFF: effect = TryKnockOffBattleScript(gBattlerTarget); break; + case MOVE_EFFECT_SMACK_DOWN: + if (!IsBattlerGrounded(gBattlerTarget) && IsBattlerAlive(gBattlerTarget)) + { + gStatuses3[gBattlerTarget] |= STATUS3_SMACKED_DOWN; + gStatuses3[gBattlerTarget] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR); + effect = TRUE; + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_MoveEffectSmackDown; + } + break; + case MOVE_EFFECT_REMOVE_STATUS: // Smelling salts, Wake-Up Slap, Sparkling Aria + if ((gBattleMons[gBattlerTarget].status1 & gBattleMoves[gCurrentMove].argument) && IsBattlerAlive(gBattlerTarget)) + { + gBattleMons[gBattlerTarget].status1 &= ~(gBattleMoves[gCurrentMove].argument); + + gActiveBattler = gBattlerTarget; + BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + effect = TRUE; + BattleScriptPush(gBattlescriptCurrInstr + 1); + switch (gBattleMoves[gCurrentMove].argument) + { + case STATUS1_PARALYSIS: + gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; + break; + case STATUS1_SLEEP: + gBattlescriptCurrInstr = BattleScript_TargetWokeUp; + break; + case STATUS1_BURN: + gBattlescriptCurrInstr = BattleScript_TargetBurnHeal; + break; + } + } + break; // MOVE_EFFECT_REMOVE_STATUS } gBattleStruct->moveEffect2 = 0; gBattleScripting.moveendState++; - break; + break; // MOVEEND_MOVE_EFFECTS2 + } case MOVEEND_ITEM_EFFECTS_ALL: // item effects for all battlers if (ItemBattleEffects(ITEMEFFECT_MOVE_END, 0, FALSE)) effect = TRUE; @@ -5555,6 +5664,61 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; } + case MOVEEND_MULTIHIT_MOVE: + { + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + && gMultiHitCounter + && !(gCurrentMove == MOVE_PRESENT && gBattleStruct->presentBasePower == 0)) // Silly edge case + { + gBattleScripting.multihitString[4]++; + if (--gMultiHitCounter == 0) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MultiHitPrintStrings; + effect = TRUE; + } + else + { + if (gCurrentMove == MOVE_DRAGON_DARTS) + { + // TODO + } + + if (gBattleMons[gBattlerAttacker].hp + && gBattleMons[gBattlerTarget].hp + && (gChosenMove == MOVE_SLEEP_TALK || !(gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP)) + && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE)) + { + if (gSpecialStatuses[gBattlerAttacker].parentalBondState) + gSpecialStatuses[gBattlerAttacker].parentalBondState--; + + gHitMarker |= (HITMARKER_NO_PPDEDUCT | HITMARKER_NO_ATTACKSTRING); + gBattleScripting.animTargetsHit = 0; + gBattleScripting.moveendState = 0; + gSpecialStatuses[gBattlerTarget].sturdied = 0; + gSpecialStatuses[gBattlerTarget].focusBanded = 0; // Delete this line to make Focus Band last for the duration of the whole move turn. + gSpecialStatuses[gBattlerTarget].focusSashed = 0; // Delete this line to make Focus Sash last for the duration of the whole move turn. + gSpecialStatuses[gBattlerAttacker].multiHitOn = TRUE; + MoveValuesCleanUp(); + BattleScriptPush(gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]); + gBattlescriptCurrInstr = BattleScript_FlushMessageBox; + return; + } + else + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MultiHitPrintStrings; + effect = TRUE; + } + } + } + gMultiHitCounter = 0; + gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_OFF; + gSpecialStatuses[gBattlerAttacker].multiHitOn = 0; + gBattleScripting.moveendState++; + break; + } case MOVEEND_EJECT_BUTTON: if (gCurrentMove != MOVE_DRAGON_TAIL && gCurrentMove != MOVE_CIRCLE_THROW @@ -5893,8 +6057,8 @@ static void Cmd_switchindataupdate(void) for (i = 0; i < sizeof(struct BattlePokemon); i++) monData[i] = gBattleResources->bufferB[gActiveBattler][4 + i]; - gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; - gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); @@ -6621,7 +6785,6 @@ static void Cmd_switchineffects(void) if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0) || ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE) - || AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE2, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_WEATHER_FORM, 0, 0, 0, 0)) return; @@ -7319,6 +7482,13 @@ static void Cmd_removeitem(void) { u16 itemId = 0; + if (gBattleScripting.overrideBerryRequirements) + { + // bug bite / pluck - don't remove current item + gBattlescriptCurrInstr += 2; + return; + } + gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); itemId = gBattleMons[gActiveBattler].item; @@ -7752,35 +7922,34 @@ static bool32 HasAttackerFaintedTarget(void) static void HandleTerrainMove(u16 move) { u32 statusFlag = 0; - u8 *timer = NULL; switch (gBattleMoves[move].effect) { case EFFECT_MISTY_TERRAIN: - statusFlag = STATUS_FIELD_MISTY_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_MISTY_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 0; break; case EFFECT_GRASSY_TERRAIN: - statusFlag = STATUS_FIELD_GRASSY_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_GRASSY_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 1; break; case EFFECT_ELECTRIC_TERRAIN: - statusFlag = STATUS_FIELD_ELECTRIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_ELECTRIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 2; break; case EFFECT_PSYCHIC_TERRAIN: - statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 3; break; case EFFECT_DAMAGE_SET_TERRAIN: switch (gBattleMoves[move].argument) { case 0: //genesis supernova - statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 3; break; case 1: //splintered stormshards - if (!(gFieldStatuses & (STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN))) + if (!(gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)) { //no terrain to remove -> jump to battle script pointer gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); @@ -7788,7 +7957,7 @@ static void HandleTerrainMove(u16 move) else { // remove all terrain - gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN); + gFieldStatuses &= ~STATUS_FIELD_TERRAIN_ANY; gBattleCommunication[MULTISTRING_CHOOSER] = 4; gBattlescriptCurrInstr += 7; } @@ -7808,9 +7977,9 @@ static void HandleTerrainMove(u16 move) gFieldStatuses &= ~STATUS_FIELD_TERRAIN_ANY; gFieldStatuses |= statusFlag; if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_TERRAIN_EXTENDER) - *timer = 8; + gFieldTimers.terrainTimer = 8; else - *timer = 5; + gFieldTimers.terrainTimer = 5; gBattlescriptCurrInstr += 7; } } @@ -7926,8 +8095,8 @@ static void RecalcBattlerStats(u32 battler, struct Pokemon *mon) gBattleMons[battler].spAttack = GetMonData(mon, MON_DATA_SPATK); gBattleMons[battler].spDefense = GetMonData(mon, MON_DATA_SPDEF); gBattleMons[battler].ability = GetMonAbility(mon); - gBattleMons[battler].type1 = gBaseStats[gBattleMons[battler].species].type1; - gBattleMons[battler].type2 = gBaseStats[gBattleMons[battler].species].type2; + gBattleMons[battler].type1 = gSpeciesInfo[gBattleMons[battler].species].type1; + gBattleMons[battler].type2 = gSpeciesInfo[gBattleMons[battler].species].type2; } static u32 GetHighestStatId(u32 battlerId) @@ -8023,14 +8192,10 @@ static bool32 CourtChangeSwapSideStatuses(void) static bool32 CanTeleport(u8 battlerId) { - struct Pokemon* party = NULL; + u8 side = GetBattlerSide(battlerId); + struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; 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); @@ -8041,11 +8206,11 @@ static bool32 CanTeleport(u8 battlerId) switch (GetBattlerSide(battlerId)) { case B_SIDE_OPPONENT: - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + if (count == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; break; case B_SIDE_PLAYER: - if (count == 1 || (count <= 2 && gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (count == 1 || (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && count <= 2)) return FALSE; break; } @@ -8304,8 +8469,7 @@ static void Cmd_various(void) else gBattleCommunication[0] = FALSE; break; - case VARIOUS_RESET_INTIMIDATE_TRACE_BITS: - gSpecialStatuses[gActiveBattler].intimidatedMon = FALSE; + case VARIOUS_RESET_SWITCH_IN_ABILITY_BITS: gSpecialStatuses[gActiveBattler].traced = FALSE; gSpecialStatuses[gActiveBattler].switchInAbilityDone = FALSE; break; @@ -8469,7 +8633,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 3; AbilityBattleEffects(ABILITYEFFECT_NEUTRALIZINGGAS, gActiveBattler, 0, 0, 0); AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0); - AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, gActiveBattler, 0, 0, 0); AbilityBattleEffects(ABILITYEFFECT_TRACE2, gActiveBattler, 0, 0, 0); return; case VARIOUS_SAVE_TARGET: @@ -9185,6 +9348,7 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF: if (ShouldDoTrainerSlide(gActiveBattler, gTrainerBattleOpponent_A, TRAINER_SLIDE_FIRST_DOWN)) { + gBattleScripting.battler = gActiveBattler; BattleScriptPush(gBattlescriptCurrInstr + 3); gBattlescriptCurrInstr = BattleScript_TrainerSlideMsgRet; return; @@ -9193,6 +9357,7 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON: if (ShouldDoTrainerSlide(gActiveBattler, gTrainerBattleOpponent_A, TRAINER_SLIDE_LAST_SWITCHIN)) { + gBattleScripting.battler = gActiveBattler; BattleScriptPush(gBattlescriptCurrInstr + 3); gBattlescriptCurrInstr = BattleScript_TrainerSlideMsgRet; return; @@ -9584,24 +9749,18 @@ static void Cmd_various(void) } break; case VARIOUS_CONSUME_BERRY: - if (ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item) == HOLD_EFFECT_NONE) + if (gBattleScripting.overrideBerryRequirements == 2) { gBattlescriptCurrInstr += 4; return; } - - gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID - // Do move end berry effects for just a single battler, instead of looping through all battlers - if (ItemBattleEffects(ITEMEFFECT_BATTLER_MOVE_END, gActiveBattler, FALSE)) - return; - + if (gBattlescriptCurrInstr[3]) - { - gBattleMons[gActiveBattler].item = gBattleStruct->changedItems[gActiveBattler]; - gBattleStruct->changedItems[gActiveBattler] = ITEM_NONE; - gBattleResources->flags->flags[gActiveBattler] &= ~RESOURCE_FLAG_UNBURDEN; - } - + gLastUsedItem = gBattleMons[gActiveBattler].item; + + gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID + if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, gActiveBattler, FALSE)) + return; gBattlescriptCurrInstr += 4; return; case VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL: @@ -9898,6 +10057,47 @@ static void Cmd_various(void) else gBattleCommunication[0] = B_SIDE_OPPONENT; break; + case VARIOUS_CHECK_PARENTAL_BOND_COUNTER: + { + // Some effects should only happen on the first or second strike of Parental Bond, + // so a way to check this in battle scripts is useful + u8 counter = T1_READ_8(gBattlescriptCurrInstr + 3); + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == counter && gBattleMons[gBattlerTarget].hp != 0) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 4); + else + gBattlescriptCurrInstr += 8; + return; + } + break; + case VARIOUS_SWAP_STATS: + { + u8 statId = T1_READ_8(gBattlescriptCurrInstr + 3); + u16 temp; + + switch (statId) + { + case STAT_HP: + SWAP(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerTarget].hp, temp); + break; + case STAT_ATK: + SWAP(gBattleMons[gBattlerAttacker].attack, gBattleMons[gBattlerTarget].attack, temp); + break; + case STAT_DEF: + SWAP(gBattleMons[gBattlerAttacker].defense, gBattleMons[gBattlerTarget].defense, temp); + break; + case STAT_SPEED: + SWAP(gBattleMons[gBattlerAttacker].speed, gBattleMons[gBattlerTarget].speed, temp); + break; + case STAT_SPATK: + SWAP(gBattleMons[gBattlerAttacker].spAttack, gBattleMons[gBattlerTarget].spAttack, temp); + break; + case STAT_SPDEF: + SWAP(gBattleMons[gBattlerAttacker].spDefense, gBattleMons[gBattlerTarget].spDefense, temp); + break; + } + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + } + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; @@ -10372,10 +10572,13 @@ static void Cmd_stockpiletobasedamage(void) if (gBattleCommunication[MISS_TYPE] != B_MSG_PROTECTED) gBattleScripting.animTurn = gDisableStructs[gBattlerAttacker].stockpileCounter; - gDisableStructs[gBattlerAttacker].stockpileCounter = 0; - // Restore stat changes from stockpile. - gBattleMons[gBattlerAttacker].statStages[STAT_DEF] -= gDisableStructs[gBattlerAttacker].stockpileDef; - gBattleMons[gBattlerAttacker].statStages[STAT_SPDEF] -= gDisableStructs[gBattlerAttacker].stockpileSpDef; + if (!(gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT && gBattleMons[gBattlerTarget].hp != 0)) + { + gDisableStructs[gBattlerAttacker].stockpileCounter = 0; + // Restore stat changes from stockpile. + gBattleMons[gBattlerAttacker].statStages[STAT_DEF] -= gDisableStructs[gBattlerAttacker].stockpileDef; + gBattleMons[gBattlerAttacker].statStages[STAT_SPDEF] -= gDisableStructs[gBattlerAttacker].stockpileSpDef; + } gBattlescriptCurrInstr += 5; } } @@ -10498,9 +10701,6 @@ static u16 ReverseStatChangeMoveEffect(u16 moveEffect) } } -#define STAT_CHANGE_WORKED 0 -#define STAT_CHANGE_DIDNT_WORK 1 - static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr) { bool32 certain = FALSE; @@ -11583,7 +11783,9 @@ static void Cmd_mimicattackcopy(void) static void Cmd_metronome(void) { -#if B_METRONOME_MOVES >= GEN_8 +#if B_METRONOME_MOVES >= GEN_9 + u16 moveCount = MOVES_COUNT_GEN9; +#elif B_METRONOME_MOVES >= GEN_8 u16 moveCount = MOVES_COUNT_GEN8; #elif B_METRONOME_MOVES >= GEN_7 u16 moveCount = MOVES_COUNT_GEN7; @@ -12266,7 +12468,8 @@ static void Cmd_handlefurycutter(void) } else { - if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5) + if (gDisableStructs[gBattlerAttacker].furyCutterCounter != 5 + && gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_1ST_HIT) // Don't increment counter on first hit gDisableStructs[gBattlerAttacker].furyCutterCounter++; gBattlescriptCurrInstr++; @@ -12291,27 +12494,37 @@ static void Cmd_presentdamagecalculation(void) { u32 rand = Random() & 0xFF; - if (rand < 102) + /* Don't reroll present effect/power for the second hit of Parental Bond. + * Not sure if this is the correct behaviour, but bulbapedia states + * that if present heals the foe, it doesn't strike twice, and if it deals + * damage, the second strike will always deal damage too. This is a simple way + * to replicate that effect. + */ + if (gSpecialStatuses[gBattlerAttacker].parentalBondState != PARENTAL_BOND_2ND_HIT) { - gBattleStruct->presentBasePower = 40; - } - else if (rand < 178) - { - gBattleStruct->presentBasePower = 80; - } - else if (rand < 204) - { - gBattleStruct->presentBasePower = 120; - } - else - { - gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - gBattleMoveDamage *= -1; + if (rand < 102) + { + gBattleStruct->presentBasePower = 40; + } + else if (rand < 178) + { + gBattleStruct->presentBasePower = 80; + } + else if (rand < 204) + { + gBattleStruct->presentBasePower = 120; + } + else + { + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; + if (gBattleMoveDamage == 0) + gBattleMoveDamage = 1; + gBattleMoveDamage *= -1; + gBattleStruct->presentBasePower = 0; + } } - if (rand < 204) + if (gBattleStruct->presentBasePower) { gBattlescriptCurrInstr = BattleScript_HitFromCritCalc; } @@ -12670,10 +12883,10 @@ static void Cmd_trydobeatup(void) gBattlescriptCurrInstr += 9; - gBattleMoveDamage = gBaseStats[GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES)].baseAttack; + gBattleMoveDamage = gSpeciesInfo[GetMonData(&party[gBattleCommunication[0]], MON_DATA_SPECIES)].baseAttack; gBattleMoveDamage *= gBattleMoves[gCurrentMove].power; gBattleMoveDamage *= (GetMonData(&party[gBattleCommunication[0]], MON_DATA_LEVEL) * 2 / 5 + 2); - gBattleMoveDamage /= gBaseStats[gBattleMons[gBattlerTarget].species].baseDefense; + gBattleMoveDamage /= gSpeciesInfo[gBattleMons[gBattlerTarget].species].baseDefense; gBattleMoveDamage = (gBattleMoveDamage / 50) + 2; if (gProtectStructs[gBattlerAttacker].helpingHand) gBattleMoveDamage = gBattleMoveDamage * 15 / 10; @@ -13348,27 +13561,8 @@ static void Cmd_trysetsnatch(void) } } -static void Cmd_trygetintimidatetarget(void) +static void Cmd_unused2(void) { - u8 side; - - gBattleScripting.battler = gBattleStruct->intimidateBattler; - side = GetBattlerSide(gBattleScripting.battler); - - PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability) - - for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (GetBattlerSide(gBattlerTarget) == side) - continue; - if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) - break; - } - - if (gBattlerTarget >= gBattlersCount) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - else - gBattlescriptCurrInstr += 5; } static void Cmd_switchoutabilities(void) @@ -13535,7 +13729,7 @@ static void Cmd_pickup(void) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - ability = gBaseStats[species].abilities[GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)]; + ability = gSpeciesInfo[species].abilities[GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)]; if (ability == ABILITY_PICKUP && species != SPECIES_NONE @@ -13571,7 +13765,7 @@ static void Cmd_pickup(void) if (lvlDivBy10 > 9) lvlDivBy10 = 9; - ability = gBaseStats[species].abilities[GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)]; + ability = gSpeciesInfo[species].abilities[GetMonData(&gPlayerParty[i], MON_DATA_ABILITY_NUM)]; if (ability == ABILITY_PICKUP && species != SPECIES_NONE @@ -13910,9 +14104,9 @@ static void Cmd_handleballthrow(void) if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) catchRate = gBattleStruct->safariCatchFactor * 1275 / 100; else - catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; + catchRate = gSpeciesInfo[gBattleMons[gBattlerTarget].species].catchRate; - if (gBaseStats[gBattleMons[gBattlerTarget].species].flags & SPECIES_FLAG_ULTRA_BEAST) + if (gSpeciesInfo[gBattleMons[gBattlerTarget].species].flags & SPECIES_FLAG_ULTRA_BEAST) { if (gLastUsedItem == ITEM_BEAST_BALL) ballMultiplier = 500; @@ -14037,7 +14231,7 @@ static void Cmd_handleballthrow(void) } break; case ITEM_FAST_BALL: - if (gBaseStats[gBattleMons[gBattlerTarget].species].baseSpeed >= 100) + if (gSpeciesInfo[gBattleMons[gBattlerTarget].species].baseSpeed >= 100) ballMultiplier = 400; break; case ITEM_HEAVY_BALL: @@ -14542,22 +14736,8 @@ static void Cmd_jumpifoppositegenders(void) gBattlescriptCurrInstr += 5; } -static void Cmd_trygetbaddreamstarget(void) +static void Cmd_unused(void) { - u8 badDreamsMonSide = GetBattlerSide(gBattlerAttacker); - for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (GetBattlerSide(gBattlerTarget) == badDreamsMonSide) - continue; - if ((gBattleMons[gBattlerTarget].status1 & STATUS1_SLEEP || GetBattlerAbility(gBattlerTarget) == ABILITY_COMATOSE) - && IsBattlerAlive(gBattlerTarget)) - break; - } - - if (gBattlerTarget >= gBattlersCount) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - else - gBattlescriptCurrInstr += 5; } static void Cmd_tryworryseed(void) @@ -14573,7 +14753,14 @@ static void Cmd_tryworryseed(void) } } -static void Cmd_metalburstdamagecalculator(void) +static void Cmd_callnative(void) +{ + void (*func)() = (void *)T1_READ_PTR(gBattlescriptCurrInstr + 1); + func(); +} + +// Callnative Funcs +void BS_CalcMetalBurstDmg(void) { u8 sideAttacker = GetBattlerSide(gBattlerAttacker); u8 sideTarget = 0; @@ -14589,7 +14776,7 @@ static void Cmd_metalburstdamagecalculator(void) else gBattlerTarget = gProtectStructs[gBattlerAttacker].physicalBattlerId; - gBattlescriptCurrInstr += 5; + gBattlescriptCurrInstr += 9; } else if (gProtectStructs[gBattlerAttacker].specialDmg && sideAttacker != (sideTarget = GetBattlerSide(gProtectStructs[gBattlerAttacker].specialBattlerId)) @@ -14602,12 +14789,12 @@ static void Cmd_metalburstdamagecalculator(void) else gBattlerTarget = gProtectStructs[gBattlerAttacker].specialBattlerId; - gBattlescriptCurrInstr += 5; + gBattlescriptCurrInstr += 9; } else { gSpecialStatuses[gBattlerAttacker].ppNotAffectedByPressure = TRUE; - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); } } @@ -14643,3 +14830,44 @@ static bool32 CriticalCapture(u32 odds) return FALSE; #endif } + +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) +{ + if (gBattleMoves[move].split != SPLIT_STATUS + && !(sForbiddenMoves[move] & FORBIDDEN_PARENTAL_BOND)) + { + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + switch (GetBattlerMoveTargetType(battlerId, move)) + { + // Both foes are alive, spread move strikes once + case MOVE_TARGET_BOTH: + if (CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) >= 2) + return FALSE; + break; + // Either both foes or one foe and its ally are alive; spread move strikes once + case MOVE_TARGET_FOES_AND_ALLY: + if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ATTACKER) >= 2) + return FALSE; + break; + default: + break; + } + } + return TRUE; + } + return FALSE; +} + +static bool8 IsFinalStrikeEffect(u16 move) +{ + u32 i; + u16 moveEffect = gBattleMoves[move].effect; + + for (i = 0; i < ARRAY_COUNT(sFinalStrikeOnlyEffects); i++) + { + if (moveEffect == sFinalStrikeOnlyEffects[i]) + return TRUE; + } + return FALSE; +} diff --git a/src/battle_tower.c b/src/battle_tower.c index 3ae7c350ca..f66c8c1f7a 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -79,72 +79,71 @@ static void FillPartnerParty(u16 trainerId); static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer); static u8 SetTentPtrsGetLevel(void); -// Const rom data. const u16 gBattleFrontierHeldItems[] = { - ITEM_NONE, - ITEM_KINGS_ROCK, - ITEM_SITRUS_BERRY, - ITEM_ORAN_BERRY, - ITEM_CHESTO_BERRY, - ITEM_HARD_STONE, - ITEM_FOCUS_BAND, - ITEM_PERSIM_BERRY, - ITEM_MIRACLE_SEED, - ITEM_BERRY_JUICE, - ITEM_MACHO_BRACE, - ITEM_SILVER_POWDER, - ITEM_CHERI_BERRY, - ITEM_BLACK_GLASSES, - ITEM_BLACK_BELT, - ITEM_SOUL_DEW, - ITEM_CHOICE_BAND, - ITEM_MAGNET, - ITEM_SILK_SCARF, - ITEM_WHITE_HERB, - ITEM_DEEP_SEA_SCALE, - ITEM_DEEP_SEA_TOOTH, - ITEM_MYSTIC_WATER, - ITEM_SHARP_BEAK, - ITEM_QUICK_CLAW, - ITEM_LEFTOVERS, - ITEM_RAWST_BERRY, - ITEM_LIGHT_BALL, - ITEM_POISON_BARB, - ITEM_NEVER_MELT_ICE, - ITEM_ASPEAR_BERRY, - ITEM_SPELL_TAG, - ITEM_BRIGHT_POWDER, - ITEM_LEPPA_BERRY, - ITEM_SCOPE_LENS, - ITEM_TWISTED_SPOON, - ITEM_METAL_COAT, - ITEM_MENTAL_HERB, - ITEM_CHARCOAL, - ITEM_PECHA_BERRY, - ITEM_SOFT_SAND, - ITEM_LUM_BERRY, - ITEM_DRAGON_SCALE, - ITEM_DRAGON_FANG, - ITEM_IAPAPA_BERRY, - ITEM_WIKI_BERRY, - ITEM_SEA_INCENSE, - ITEM_SHELL_BELL, - ITEM_SALAC_BERRY, - ITEM_LANSAT_BERRY, - ITEM_APICOT_BERRY, - ITEM_STARF_BERRY, - ITEM_LIECHI_BERRY, - ITEM_LEEK, - ITEM_LAX_INCENSE, - ITEM_AGUAV_BERRY, - ITEM_FIGY_BERRY, - ITEM_THICK_CLUB, - ITEM_MAGO_BERRY, - ITEM_METAL_POWDER, - ITEM_PETAYA_BERRY, - ITEM_LUCKY_PUNCH, - ITEM_GANLON_BERRY + [BATTLE_FRONTIER_ITEM_NONE] = ITEM_NONE, + [BATTLE_FRONTIER_ITEM_KINGS_ROCK] = ITEM_KINGS_ROCK, + [BATTLE_FRONTIER_ITEM_SITRUS_BERRY] = ITEM_SITRUS_BERRY, + [BATTLE_FRONTIER_ITEM_ORAN_BERRY] = ITEM_ORAN_BERRY, + [BATTLE_FRONTIER_ITEM_CHESTO_BERRY] = ITEM_CHESTO_BERRY, + [BATTLE_FRONTIER_ITEM_HARD_STONE] = ITEM_HARD_STONE, + [BATTLE_FRONTIER_ITEM_FOCUS_BAND] = ITEM_FOCUS_BAND, + [BATTLE_FRONTIER_ITEM_PERSIM_BERRY] = ITEM_PERSIM_BERRY, + [BATTLE_FRONTIER_ITEM_MIRACLE_SEED] = ITEM_MIRACLE_SEED, + [BATTLE_FRONTIER_ITEM_BERRY_JUICE] = ITEM_BERRY_JUICE, + [BATTLE_FRONTIER_ITEM_MACHO_BRACE] = ITEM_MACHO_BRACE, + [BATTLE_FRONTIER_ITEM_SILVER_POWDER] = ITEM_SILVER_POWDER, + [BATTLE_FRONTIER_ITEM_CHERI_BERRY] = ITEM_CHERI_BERRY, + [BATTLE_FRONTIER_ITEM_BLACK_GLASSES] = ITEM_BLACK_GLASSES, + [BATTLE_FRONTIER_ITEM_BLACK_BELT] = ITEM_BLACK_BELT, + [BATTLE_FRONTIER_ITEM_SOUL_DEW] = ITEM_SOUL_DEW, + [BATTLE_FRONTIER_ITEM_CHOICE_BAND] = ITEM_CHOICE_BAND, + [BATTLE_FRONTIER_ITEM_MAGNET] = ITEM_MAGNET, + [BATTLE_FRONTIER_ITEM_SILK_SCARF] = ITEM_SILK_SCARF, + [BATTLE_FRONTIER_ITEM_WHITE_HERB] = ITEM_WHITE_HERB, + [BATTLE_FRONTIER_ITEM_DEEP_SEA_SCALE] = ITEM_DEEP_SEA_SCALE, + [BATTLE_FRONTIER_ITEM_DEEP_SEA_TOOTH] = ITEM_DEEP_SEA_TOOTH, + [BATTLE_FRONTIER_ITEM_MYSTIC_WATER] = ITEM_MYSTIC_WATER, + [BATTLE_FRONTIER_ITEM_SHARP_BEAK] = ITEM_SHARP_BEAK, + [BATTLE_FRONTIER_ITEM_QUICK_CLAW] = ITEM_QUICK_CLAW, + [BATTLE_FRONTIER_ITEM_LEFTOVERS] = ITEM_LEFTOVERS, + [BATTLE_FRONTIER_ITEM_RAWST_BERRY] = ITEM_RAWST_BERRY, + [BATTLE_FRONTIER_ITEM_LIGHT_BALL] = ITEM_LIGHT_BALL, + [BATTLE_FRONTIER_ITEM_POISON_BARB] = ITEM_POISON_BARB, + [BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE] = ITEM_NEVER_MELT_ICE, + [BATTLE_FRONTIER_ITEM_ASPEAR_BERRY] = ITEM_ASPEAR_BERRY, + [BATTLE_FRONTIER_ITEM_SPELL_TAG] = ITEM_SPELL_TAG, + [BATTLE_FRONTIER_ITEM_BRIGHT_POWDER] = ITEM_BRIGHT_POWDER, + [BATTLE_FRONTIER_ITEM_LEPPA_BERRY] = ITEM_LEPPA_BERRY, + [BATTLE_FRONTIER_ITEM_SCOPE_LENS] = ITEM_SCOPE_LENS, + [BATTLE_FRONTIER_ITEM_TWISTED_SPOON] = ITEM_TWISTED_SPOON, + [BATTLE_FRONTIER_ITEM_METAL_COAT] = ITEM_METAL_COAT, + [BATTLE_FRONTIER_ITEM_MENTAL_HERB] = ITEM_MENTAL_HERB, + [BATTLE_FRONTIER_ITEM_CHARCOAL] = ITEM_CHARCOAL, + [BATTLE_FRONTIER_ITEM_PECHA_BERRY] = ITEM_PECHA_BERRY, + [BATTLE_FRONTIER_ITEM_SOFT_SAND] = ITEM_SOFT_SAND, + [BATTLE_FRONTIER_ITEM_LUM_BERRY] = ITEM_LUM_BERRY, + [BATTLE_FRONTIER_ITEM_DRAGON_SCALE] = ITEM_DRAGON_SCALE, + [BATTLE_FRONTIER_ITEM_DRAGON_FANG] = ITEM_DRAGON_FANG, + [BATTLE_FRONTIER_ITEM_IAPAPA_BERRY] = ITEM_IAPAPA_BERRY, + [BATTLE_FRONTIER_ITEM_WIKI_BERRY] = ITEM_WIKI_BERRY, + [BATTLE_FRONTIER_ITEM_SEA_INCENSE] = ITEM_SEA_INCENSE, + [BATTLE_FRONTIER_ITEM_SHELL_BELL] = ITEM_SHELL_BELL, + [BATTLE_FRONTIER_ITEM_SALAC_BERRY] = ITEM_SALAC_BERRY, + [BATTLE_FRONTIER_ITEM_LANSAT_BERRY] = ITEM_LANSAT_BERRY, + [BATTLE_FRONTIER_ITEM_APICOT_BERRY] = ITEM_APICOT_BERRY, + [BATTLE_FRONTIER_ITEM_STARF_BERRY] = ITEM_STARF_BERRY, + [BATTLE_FRONTIER_ITEM_LIECHI_BERRY] = ITEM_LIECHI_BERRY, + [BATTLE_FRONTIER_ITEM_LEEK] = ITEM_LEEK, + [BATTLE_FRONTIER_ITEM_LAX_INCENSE] = ITEM_LAX_INCENSE, + [BATTLE_FRONTIER_ITEM_AGUAV_BERRY] = ITEM_AGUAV_BERRY, + [BATTLE_FRONTIER_ITEM_FIGY_BERRY] = ITEM_FIGY_BERRY, + [BATTLE_FRONTIER_ITEM_THICK_CLUB] = ITEM_THICK_CLUB, + [BATTLE_FRONTIER_ITEM_MAGO_BERRY] = ITEM_MAGO_BERRY, + [BATTLE_FRONTIER_ITEM_METAL_POWDER] = ITEM_METAL_POWDER, + [BATTLE_FRONTIER_ITEM_PETAYA_BERRY] = ITEM_PETAYA_BERRY, + [BATTLE_FRONTIER_ITEM_LUCKY_PUNCH] = ITEM_LUCKY_PUNCH, + [BATTLE_FRONTIER_ITEM_GANLON_BERRY] = ITEM_GANLON_BERRY, }; #include "data/battle_frontier/battle_frontier_trainer_mons.h" @@ -3650,7 +3649,7 @@ void TrySetLinkBattleTowerEnemyPartyLevel(void) u32 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, NULL); if (species) { - SetMonData(&gEnemyParty[i], MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][enemyLevel]); + SetMonData(&gEnemyParty[i], MON_DATA_EXP, &gExperienceTables[gSpeciesInfo[species].growthRate][enemyLevel]); CalculateMonStats(&gEnemyParty[i]); } } diff --git a/src/battle_tv.c b/src/battle_tv.c index 19d3eba8df..9d2ec244e8 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -86,220 +86,402 @@ static const u16 sVariableDmgMoves[] = static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = { - [EFFECT_HIT] = 1, - [EFFECT_SLEEP] = 1, - [EFFECT_POISON_HIT] = 1, - [EFFECT_ABSORB] = 4, - [EFFECT_BURN_HIT] = 1, - [EFFECT_FREEZE_HIT] = 1, - [EFFECT_PARALYZE_HIT] = 1, - [EFFECT_EXPLOSION] = 0, - [EFFECT_DREAM_EATER] = 5, - [EFFECT_MIRROR_MOVE] = 1, - [EFFECT_ATTACK_UP] = 1, - [EFFECT_DEFENSE_UP] = 1, - [EFFECT_SPEED_UP] = 1, - [EFFECT_SPECIAL_ATTACK_UP] = 1, - [EFFECT_SPECIAL_DEFENSE_UP] = 1, - [EFFECT_ACCURACY_UP] = 1, - [EFFECT_EVASION_UP] = 1, -// [EFFECT_ALWAYS_HIT] = 2, - [EFFECT_ATTACK_DOWN] = 1, - [EFFECT_DEFENSE_DOWN] = 1, - [EFFECT_SPEED_DOWN] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN] = 1, - [EFFECT_ACCURACY_DOWN] = 1, - [EFFECT_EVASION_DOWN] = 1, - [EFFECT_HAZE] = 5, - [EFFECT_BIDE] = 5, - [EFFECT_RAMPAGE] = 4, - [EFFECT_ROAR] = 5, - [EFFECT_MULTI_HIT] = 1, - [EFFECT_CONVERSION] = 3, - [EFFECT_FLINCH_HIT] = 1, - [EFFECT_RESTORE_HP] = 3, - [EFFECT_TOXIC] = 5, - [EFFECT_PAY_DAY] = 1, - [EFFECT_LIGHT_SCREEN] = 7, - [EFFECT_TRI_ATTACK] = 1, - [EFFECT_REST] = 7, - [EFFECT_OHKO] = 7, -// [EFFECT_RAZOR_WIND] = 1, - [EFFECT_SUPER_FANG] = 5, - [EFFECT_DRAGON_RAGE] = 2, - [EFFECT_TRAP] = 4, -// [EFFECT_HIGH_CRITICAL] = 1, - [EFFECT_DOUBLE_HIT] = 1, - [EFFECT_RECOIL_IF_MISS] = 1, - [EFFECT_MIST] = 5, - [EFFECT_FOCUS_ENERGY] = 1, - [EFFECT_RECOIL_25] = 2, - [EFFECT_CONFUSE] = 4, - [EFFECT_ATTACK_UP_2] = 1, - [EFFECT_DEFENSE_UP_2] = 1, - [EFFECT_SPEED_UP_2] = 1, - [EFFECT_SPECIAL_ATTACK_UP_2] = 1, - [EFFECT_SPECIAL_DEFENSE_UP_2] = 1, - [EFFECT_ACCURACY_UP_2] = 1, - [EFFECT_EVASION_UP_2] = 1, - [EFFECT_TRANSFORM] = 0, - [EFFECT_ATTACK_DOWN_2] = 1, - [EFFECT_DEFENSE_DOWN_2] = 1, - [EFFECT_SPEED_DOWN_2] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN_2] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1, - [EFFECT_ACCURACY_DOWN_2] = 1, - [EFFECT_EVASION_DOWN_2] = 1, - [EFFECT_REFLECT] = 7, - [EFFECT_POISON] = 4, - [EFFECT_PARALYZE] = 4, - [EFFECT_ATTACK_DOWN_HIT] = 1, - [EFFECT_DEFENSE_DOWN_HIT] = 1, - [EFFECT_SPEED_DOWN_HIT] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1, - [EFFECT_ACCURACY_DOWN_HIT] = 1, - [EFFECT_EVASION_DOWN_HIT] = 1, -// [EFFECT_SKY_ATTACK] = 4, - [EFFECT_CONFUSE_HIT] = 1, - [EFFECT_TWINEEDLE] = 1, - [EFFECT_VITAL_THROW] = 1, - [EFFECT_SUBSTITUTE] = 4, - [EFFECT_RECHARGE] = 5, - [EFFECT_RAGE] = 2, - [EFFECT_MIMIC] = 4, - [EFFECT_METRONOME] = 1, - [EFFECT_LEECH_SEED] = 4, - [EFFECT_DO_NOTHING] = 1, - [EFFECT_DISABLE] = 7, - [EFFECT_LEVEL_DAMAGE] = 2, - [EFFECT_PSYWAVE] = 1, - [EFFECT_COUNTER] = 5, - [EFFECT_ENCORE] = 7, - [EFFECT_PAIN_SPLIT] = 3, - [EFFECT_SNORE] = 3, - [EFFECT_CONVERSION_2] = 4, - [EFFECT_LOCK_ON] = 3, - [EFFECT_SKETCH] = 3, -// [EFFECT_UNUSED_60] = 3, - [EFFECT_SLEEP_TALK] = 3, - [EFFECT_DESTINY_BOND] = 3, - [EFFECT_FLAIL] = 2, - [EFFECT_SPITE] = 4, - [EFFECT_FALSE_SWIPE] = 1, - [EFFECT_HEAL_BELL] = 5, -// [EFFECT_QUICK_ATTACK] = 1, - [EFFECT_TRIPLE_KICK] = 1, - [EFFECT_THIEF] = 4, - [EFFECT_MEAN_LOOK] = 5, - [EFFECT_NIGHTMARE] = 3, - [EFFECT_MINIMIZE] = 1, - [EFFECT_CURSE] = 2, -// [EFFECT_UNUSED_6E] = 1, - [EFFECT_PROTECT] = 5, - [EFFECT_SPIKES] = 4, - [EFFECT_FORESIGHT] = 3, - [EFFECT_PERISH_SONG] = 6, - [EFFECT_SANDSTORM] = 4, - [EFFECT_ENDURE] = 3, - [EFFECT_ROLLOUT] = 3, - [EFFECT_SWAGGER] = 3, - [EFFECT_FURY_CUTTER] = 2, - [EFFECT_ATTRACT] = 4, - [EFFECT_RETURN] = 1, - [EFFECT_PRESENT] = 1, - [EFFECT_FRUSTRATION] = 1, - [EFFECT_SAFEGUARD] = 5, -// [EFFECT_THAW_HIT] = 1, Now unused - [EFFECT_MAGNITUDE] = 1, - [EFFECT_BATON_PASS] = 7, - [EFFECT_PURSUIT] = 2, - [EFFECT_RAPID_SPIN] = 2, - [EFFECT_SONICBOOM] = 1, -// [EFFECT_UNUSED_83] = 1, - [EFFECT_MORNING_SUN] = 4, - [EFFECT_SYNTHESIS] = 4, - [EFFECT_MOONLIGHT] = 4, - [EFFECT_HIDDEN_POWER] = 1, - [EFFECT_RAIN_DANCE] = 4, - [EFFECT_SUNNY_DAY] = 4, - [EFFECT_DEFENSE_UP_HIT] = 1, - [EFFECT_ATTACK_UP_HIT] = 1, - [EFFECT_ALL_STATS_UP_HIT] = 1, -// [EFFECT_UNUSED_8D] = 1, - [EFFECT_BELLY_DRUM] = 7, - [EFFECT_PSYCH_UP] = 7, - [EFFECT_MIRROR_COAT] = 6, - [EFFECT_SKULL_BASH] = 3, - [EFFECT_TWISTER] = 1, - [EFFECT_EARTHQUAKE] = 1, - [EFFECT_FUTURE_SIGHT] = 1, - [EFFECT_GUST] = 1, - [EFFECT_FLINCH_MINIMIZE_HIT] = 1, - [EFFECT_SOLAR_BEAM] = 1, - [EFFECT_THUNDER] = 1, - [EFFECT_TELEPORT] = 1, - [EFFECT_BEAT_UP] = 2, - [EFFECT_SEMI_INVULNERABLE] = 3, - [EFFECT_DEFENSE_CURL] = 1, - [EFFECT_SOFTBOILED] = 1, - [EFFECT_FAKE_OUT] = 4, - [EFFECT_UPROAR] = 4, - [EFFECT_STOCKPILE] = 3, - [EFFECT_SPIT_UP] = 3, - [EFFECT_SWALLOW] = 3, -// [EFFECT_UNUSED_A3] = 1, - [EFFECT_HAIL] = 4, - [EFFECT_TORMENT] = 7, - [EFFECT_FLATTER] = 7, - [EFFECT_WILL_O_WISP] = 5, - [EFFECT_MEMENTO] = 7, - [EFFECT_FACADE] = 1, - [EFFECT_FOCUS_PUNCH] = 7, - [EFFECT_SMELLINGSALT] = 1, - [EFFECT_FOLLOW_ME] = 5, - [EFFECT_NATURE_POWER] = 0, - [EFFECT_CHARGE] = 4, - [EFFECT_TAUNT] = 4, - [EFFECT_HELPING_HAND] = 4, - [EFFECT_TRICK] = 4, - [EFFECT_ROLE_PLAY] = 4, - [EFFECT_WISH] = 2, - [EFFECT_ASSIST] = 2, - [EFFECT_INGRAIN] = 6, - [EFFECT_SUPERPOWER] = 3, - [EFFECT_MAGIC_COAT] = 6, - [EFFECT_RECYCLE] = 4, - [EFFECT_REVENGE] = 4, - [EFFECT_BRICK_BREAK] = 2, - [EFFECT_YAWN] = 5, - [EFFECT_KNOCK_OFF] = 2, - [EFFECT_ENDEAVOR] = 1, - [EFFECT_ERUPTION] = 1, - [EFFECT_SKILL_SWAP] = 6, - [EFFECT_IMPRISON] = 6, - [EFFECT_REFRESH] = 6, - [EFFECT_GRUDGE] = 1, - [EFFECT_SNATCH] = 1, - [EFFECT_LOW_KICK] = 1, - [EFFECT_SECRET_POWER] = 1, - [EFFECT_RECOIL_33] = 2, - [EFFECT_TEETER_DANCE] = 6, -// [EFFECT_BLAZE_KICK] = 1, - [EFFECT_MUD_SPORT] = 4, - [EFFECT_POISON_FANG] = 1, - [EFFECT_WEATHER_BALL] = 1, - [EFFECT_OVERHEAT] = 3, - [EFFECT_TICKLE] = 1, - [EFFECT_COSMIC_POWER] = 1, - [EFFECT_SKY_UPPERCUT] = 1, - [EFFECT_BULK_UP] = 1, -// [EFFECT_POISON_TAIL] = 1, - [EFFECT_WATER_SPORT] = 4, - [EFFECT_CALM_MIND] = 1, - [EFFECT_DRAGON_DANCE] = 1, - [EFFECT_CAMOUFLAGE] = 3 + [EFFECT_HIT] = 1, + [EFFECT_SLEEP] = 1, + [EFFECT_POISON_HIT] = 1, + [EFFECT_ABSORB] = 4, + [EFFECT_BURN_HIT] = 1, + [EFFECT_FREEZE_HIT] = 1, + [EFFECT_PARALYZE_HIT] = 1, + [EFFECT_EXPLOSION] = 0, + [EFFECT_DREAM_EATER] = 5, + [EFFECT_MIRROR_MOVE] = 1, + [EFFECT_ATTACK_UP] = 1, + [EFFECT_DEFENSE_UP] = 1, + [EFFECT_SPEED_UP] = 1, + [EFFECT_SPECIAL_ATTACK_UP] = 1, + [EFFECT_SPECIAL_DEFENSE_UP] = 1, + [EFFECT_ACCURACY_UP] = 1, + [EFFECT_EVASION_UP] = 1, +// [EFFECT_ALWAYS_HIT] = 2, + [EFFECT_ATTACK_DOWN] = 1, + [EFFECT_DEFENSE_DOWN] = 1, + [EFFECT_SPEED_DOWN] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN] = 1, + [EFFECT_ACCURACY_DOWN] = 1, + [EFFECT_EVASION_DOWN] = 1, + [EFFECT_HAZE] = 5, + [EFFECT_BIDE] = 5, + [EFFECT_RAMPAGE] = 4, + [EFFECT_ROAR] = 5, + [EFFECT_MULTI_HIT] = 1, + [EFFECT_CONVERSION] = 3, + [EFFECT_FLINCH_HIT] = 1, + [EFFECT_RESTORE_HP] = 3, + [EFFECT_TOXIC] = 5, + [EFFECT_PAY_DAY] = 1, + [EFFECT_LIGHT_SCREEN] = 7, + [EFFECT_TRI_ATTACK] = 1, + [EFFECT_REST] = 7, + [EFFECT_OHKO] = 7, +// [EFFECT_RAZOR_WIND] = 1, + [EFFECT_SUPER_FANG] = 5, + [EFFECT_DRAGON_RAGE] = 2, + [EFFECT_TRAP] = 4, +// [EFFECT_HIGH_CRITICAL] = 1, +// [EFFECT_DOUBLE_HIT] = 1, + [EFFECT_RECOIL_IF_MISS] = 1, + [EFFECT_MIST] = 5, + [EFFECT_FOCUS_ENERGY] = 1, + [EFFECT_RECOIL_25] = 2, + [EFFECT_CONFUSE] = 4, + [EFFECT_ATTACK_UP_2] = 1, + [EFFECT_DEFENSE_UP_2] = 1, + [EFFECT_SPEED_UP_2] = 1, + [EFFECT_SPECIAL_ATTACK_UP_2] = 1, + [EFFECT_SPECIAL_DEFENSE_UP_2] = 1, + [EFFECT_ACCURACY_UP_2] = 1, + [EFFECT_EVASION_UP_2] = 1, + [EFFECT_TRANSFORM] = 0, + [EFFECT_ATTACK_DOWN_2] = 1, + [EFFECT_DEFENSE_DOWN_2] = 1, + [EFFECT_SPEED_DOWN_2] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN_2] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1, + [EFFECT_ACCURACY_DOWN_2] = 1, + [EFFECT_EVASION_DOWN_2] = 1, + [EFFECT_REFLECT] = 7, + [EFFECT_POISON] = 4, + [EFFECT_PARALYZE] = 4, + [EFFECT_ATTACK_DOWN_HIT] = 1, + [EFFECT_DEFENSE_DOWN_HIT] = 1, + [EFFECT_SPEED_DOWN_HIT] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1, + [EFFECT_ACCURACY_DOWN_HIT] = 1, + [EFFECT_EVASION_DOWN_HIT] = 1, +// [EFFECT_SKY_ATTACK] = 4, + [EFFECT_CONFUSE_HIT] = 1, +// [EFFECT_TWINEEDLE] = 1, + [EFFECT_VITAL_THROW] = 1, + [EFFECT_SUBSTITUTE] = 4, + [EFFECT_RECHARGE] = 5, + [EFFECT_RAGE] = 2, + [EFFECT_MIMIC] = 4, + [EFFECT_METRONOME] = 1, + [EFFECT_LEECH_SEED] = 4, + [EFFECT_DO_NOTHING] = 1, + [EFFECT_DISABLE] = 7, + [EFFECT_LEVEL_DAMAGE] = 2, + [EFFECT_PSYWAVE] = 1, + [EFFECT_COUNTER] = 5, + [EFFECT_ENCORE] = 7, + [EFFECT_PAIN_SPLIT] = 3, + [EFFECT_SNORE] = 3, + [EFFECT_CONVERSION_2] = 4, + [EFFECT_LOCK_ON] = 3, + [EFFECT_SKETCH] = 3, +// [EFFECT_UNUSED_60] = 3, + [EFFECT_SLEEP_TALK] = 3, + [EFFECT_DESTINY_BOND] = 3, + [EFFECT_FLAIL] = 2, + [EFFECT_SPITE] = 4, + [EFFECT_FALSE_SWIPE] = 1, + [EFFECT_HEAL_BELL] = 5, +// [EFFECT_QUICK_ATTACK] = 1, + [EFFECT_TRIPLE_KICK] = 1, + [EFFECT_THIEF] = 4, + [EFFECT_MEAN_LOOK] = 5, + [EFFECT_NIGHTMARE] = 3, + [EFFECT_MINIMIZE] = 1, + [EFFECT_CURSE] = 2, +// [EFFECT_UNUSED_6E] = 1, + [EFFECT_PROTECT] = 5, + [EFFECT_SPIKES] = 4, + [EFFECT_FORESIGHT] = 3, + [EFFECT_PERISH_SONG] = 6, + [EFFECT_SANDSTORM] = 4, + [EFFECT_ENDURE] = 3, + [EFFECT_ROLLOUT] = 3, + [EFFECT_SWAGGER] = 3, + [EFFECT_FURY_CUTTER] = 2, + [EFFECT_ATTRACT] = 4, + [EFFECT_RETURN] = 1, + [EFFECT_PRESENT] = 1, + [EFFECT_FRUSTRATION] = 1, + [EFFECT_SAFEGUARD] = 5, +// [EFFECT_THAW_HIT] = 1, Now unused + [EFFECT_MAGNITUDE] = 1, + [EFFECT_BATON_PASS] = 7, + [EFFECT_PURSUIT] = 2, + [EFFECT_RAPID_SPIN] = 2, + [EFFECT_SONICBOOM] = 1, +// [EFFECT_UNUSED_83] = 1, + [EFFECT_MORNING_SUN] = 4, + [EFFECT_SYNTHESIS] = 4, + [EFFECT_MOONLIGHT] = 4, + [EFFECT_HIDDEN_POWER] = 1, + [EFFECT_RAIN_DANCE] = 4, + [EFFECT_SUNNY_DAY] = 4, + [EFFECT_DEFENSE_UP_HIT] = 1, + [EFFECT_ATTACK_UP_HIT] = 1, + [EFFECT_ALL_STATS_UP_HIT] = 1, +// [EFFECT_UNUSED_8D] = 1, + [EFFECT_BELLY_DRUM] = 7, + [EFFECT_PSYCH_UP] = 7, + [EFFECT_MIRROR_COAT] = 6, + [EFFECT_SKULL_BASH] = 3, + [EFFECT_TWISTER] = 1, + [EFFECT_EARTHQUAKE] = 1, + [EFFECT_FUTURE_SIGHT] = 1, + [EFFECT_GUST] = 1, + [EFFECT_FLINCH_MINIMIZE_HIT] = 1, + [EFFECT_SOLAR_BEAM] = 1, + [EFFECT_THUNDER] = 1, + [EFFECT_TELEPORT] = 1, + [EFFECT_BEAT_UP] = 2, + [EFFECT_SEMI_INVULNERABLE] = 3, + [EFFECT_DEFENSE_CURL] = 1, + [EFFECT_SOFTBOILED] = 1, + [EFFECT_FAKE_OUT] = 4, + [EFFECT_UPROAR] = 4, + [EFFECT_STOCKPILE] = 3, + [EFFECT_SPIT_UP] = 3, + [EFFECT_SWALLOW] = 3, +// [EFFECT_UNUSED_A3] = 1, + [EFFECT_HAIL] = 4, + [EFFECT_TORMENT] = 7, + [EFFECT_FLATTER] = 7, + [EFFECT_WILL_O_WISP] = 5, + [EFFECT_MEMENTO] = 7, + [EFFECT_FACADE] = 1, + [EFFECT_FOCUS_PUNCH] = 7, + [EFFECT_SMELLINGSALT] = 1, + [EFFECT_FOLLOW_ME] = 5, + [EFFECT_NATURE_POWER] = 0, + [EFFECT_CHARGE] = 4, + [EFFECT_TAUNT] = 4, + [EFFECT_HELPING_HAND] = 4, + [EFFECT_TRICK] = 4, + [EFFECT_ROLE_PLAY] = 4, + [EFFECT_WISH] = 2, + [EFFECT_ASSIST] = 2, + [EFFECT_INGRAIN] = 6, + [EFFECT_SUPERPOWER] = 3, + [EFFECT_MAGIC_COAT] = 6, + [EFFECT_RECYCLE] = 4, + [EFFECT_REVENGE] = 4, + [EFFECT_BRICK_BREAK] = 2, + [EFFECT_YAWN] = 5, + [EFFECT_KNOCK_OFF] = 2, + [EFFECT_ENDEAVOR] = 1, + [EFFECT_ERUPTION] = 1, + [EFFECT_SKILL_SWAP] = 6, + [EFFECT_IMPRISON] = 6, + [EFFECT_REFRESH] = 6, + [EFFECT_GRUDGE] = 1, + [EFFECT_SNATCH] = 1, + [EFFECT_LOW_KICK] = 1, + [EFFECT_SECRET_POWER] = 1, + [EFFECT_RECOIL_33] = 2, + [EFFECT_TEETER_DANCE] = 6, +// [EFFECT_BLAZE_KICK] = 1, + [EFFECT_MUD_SPORT] = 4, + [EFFECT_POISON_FANG] = 1, + [EFFECT_WEATHER_BALL] = 1, + [EFFECT_OVERHEAT] = 3, + [EFFECT_TICKLE] = 1, + [EFFECT_COSMIC_POWER] = 1, + [EFFECT_SKY_UPPERCUT] = 1, + [EFFECT_BULK_UP] = 1, +// [EFFECT_POISON_TAIL] = 1, + [EFFECT_WATER_SPORT] = 4, + [EFFECT_CALM_MIND] = 1, + [EFFECT_DRAGON_DANCE] = 1, + [EFFECT_CAMOUFLAGE] = 3, + [EFFECT_PLEDGE] = 0, // TODO: Assign points + [EFFECT_FLING] = 0, // TODO: Assign points + [EFFECT_NATURAL_GIFT] = 0, // TODO: Assign points + [EFFECT_WAKE_UP_SLAP] = 0, // TODO: Assign points + [EFFECT_WRING_OUT] = 0, // TODO: Assign points + [EFFECT_HEX] = 0, // TODO: Assign points + [EFFECT_ASSURANCE] = 0, // TODO: Assign points + [EFFECT_TRUMP_CARD] = 0, // TODO: Assign points + [EFFECT_ACROBATICS] = 0, // TODO: Assign points + [EFFECT_HEAT_CRASH] = 0, // TODO: Assign points + [EFFECT_PUNISHMENT] = 0, // TODO: Assign points + [EFFECT_STORED_POWER] = 0, // TODO: Assign points + [EFFECT_ELECTRO_BALL] = 0, // TODO: Assign points + [EFFECT_GYRO_BALL] = 0, // TODO: Assign points + [EFFECT_ECHOED_VOICE] = 0, // TODO: Assign points + [EFFECT_PAYBACK] = 0, // TODO: Assign points + [EFFECT_ROUND] = 0, // TODO: Assign points + [EFFECT_BRINE] = 0, // TODO: Assign points + [EFFECT_VENOSHOCK] = 0, // TODO: Assign points + [EFFECT_RETALIATE] = 0, // TODO: Assign points + [EFFECT_BULLDOZE] = 0, // TODO: Assign points + [EFFECT_FOUL_PLAY] = 0, // TODO: Assign points + [EFFECT_PSYSHOCK] = 0, // TODO: Assign points + [EFFECT_ROOST] = 0, // TODO: Assign points + [EFFECT_GRAVITY] = 0, // TODO: Assign points + [EFFECT_MIRACLE_EYE] = 0, // TODO: Assign points + [EFFECT_TAILWIND] = 0, // TODO: Assign points + [EFFECT_EMBARGO] = 0, // TODO: Assign points + [EFFECT_AQUA_RING] = 0, // TODO: Assign points + [EFFECT_TRICK_ROOM] = 0, // TODO: Assign points + [EFFECT_WONDER_ROOM] = 0, // TODO: Assign points + [EFFECT_MAGIC_ROOM] = 0, // TODO: Assign points + [EFFECT_MAGNET_RISE] = 0, // TODO: Assign points + [EFFECT_TOXIC_SPIKES] = 0, // TODO: Assign points + [EFFECT_GASTRO_ACID] = 0, // TODO: Assign points + [EFFECT_STEALTH_ROCK] = 0, // TODO: Assign points + [EFFECT_TELEKINESIS] = 0, // TODO: Assign points + [EFFECT_POWER_SWAP] = 0, // TODO: Assign points + [EFFECT_GUARD_SWAP] = 0, // TODO: Assign points + [EFFECT_HEART_SWAP] = 0, // TODO: Assign points + [EFFECT_POWER_SPLIT] = 0, // TODO: Assign points + [EFFECT_GUARD_SPLIT] = 0, // TODO: Assign points + [EFFECT_STICKY_WEB] = 0, // TODO: Assign points + [EFFECT_METAL_BURST] = 0, // TODO: Assign points + [EFFECT_LUCKY_CHANT] = 0, // TODO: Assign points + [EFFECT_SUCKER_PUNCH] = 0, // TODO: Assign points + [EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2] = 0, // TODO: Assign points + [EFFECT_SIMPLE_BEAM] = 0, // TODO: Assign points + [EFFECT_ENTRAINMENT] = 0, // TODO: Assign points + [EFFECT_HEAL_PULSE] = 0, // TODO: Assign points + [EFFECT_QUASH] = 0, // TODO: Assign points + [EFFECT_ION_DELUGE] = 0, // TODO: Assign points + [EFFECT_FREEZE_DRY] = 0, // TODO: Assign points + [EFFECT_TOPSY_TURVY] = 0, // TODO: Assign points + [EFFECT_MISTY_TERRAIN] = 0, // TODO: Assign points + [EFFECT_GRASSY_TERRAIN] = 0, // TODO: Assign points + [EFFECT_ELECTRIC_TERRAIN] = 0, // TODO: Assign points + [EFFECT_PSYCHIC_TERRAIN] = 0, // TODO: Assign points + [EFFECT_ATTACK_ACCURACY_UP] = 0, // TODO: Assign points + [EFFECT_ATTACK_SPATK_UP] = 0, // TODO: Assign points + [EFFECT_HURRICANE] = 0, // TODO: Assign points + [EFFECT_TWO_TYPED_MOVE] = 0, // TODO: Assign points + [EFFECT_ME_FIRST] = 0, // TODO: Assign points + [EFFECT_SPEED_UP_HIT] = 0, // TODO: Assign points + [EFFECT_QUIVER_DANCE] = 0, // TODO: Assign points + [EFFECT_COIL] = 0, // TODO: Assign points + [EFFECT_ELECTRIFY] = 0, // TODO: Assign points + [EFFECT_SCALD] = 0, // TODO: Assign points + [EFFECT_REFLECT_TYPE] = 0, // TODO: Assign points + [EFFECT_SOAK] = 0, // TODO: Assign points + [EFFECT_GROWTH] = 0, // TODO: Assign points + [EFFECT_CLOSE_COMBAT] = 0, // TODO: Assign points + [EFFECT_LAST_RESORT] = 0, // TODO: Assign points + [EFFECT_RECOIL_33_STATUS] = 0, // TODO: Assign points + [EFFECT_FLINCH_STATUS] = 0, // TODO: Assign points + [EFFECT_RECOIL_50] = 0, // TODO: Assign points + [EFFECT_SHELL_SMASH] = 0, // TODO: Assign points + [EFFECT_SHIFT_GEAR] = 0, // TODO: Assign points + [EFFECT_DEFENSE_UP_3] = 0, // TODO: Assign points + [EFFECT_NOBLE_ROAR] = 0, // TODO: Assign points + [EFFECT_VENOM_DRENCH] = 0, // TODO: Assign points + [EFFECT_TOXIC_THREAD] = 0, // TODO: Assign points + [EFFECT_CLEAR_SMOG] = 0, // TODO: Assign points + [EFFECT_HIT_SWITCH_TARGET] = 0, // TODO: Assign points + [EFFECT_FINAL_GAMBIT] = 0, // TODO: Assign points + [EFFECT_CHANGE_TYPE_ON_ITEM] = 0, // TODO: Assign points + [EFFECT_AUTOTOMIZE] = 0, // TODO: Assign points + [EFFECT_COPYCAT] = 0, // TODO: Assign points + [EFFECT_DEFOG] = 0, // TODO: Assign points + [EFFECT_HIT_ENEMY_HEAL_ALLY] = 0, // TODO: Assign points + [EFFECT_SMACK_DOWN] = 0, // TODO: Assign points + [EFFECT_SYNCHRONOISE] = 0, // TODO: Assign points + [EFFECT_PSYCHO_SHIFT] = 0, // TODO: Assign points + [EFFECT_POWER_TRICK] = 0, // TODO: Assign points + [EFFECT_FLAME_BURST] = 0, // TODO: Assign points + [EFFECT_AFTER_YOU] = 0, // TODO: Assign points + [EFFECT_BESTOW] = 0, // TODO: Assign points + [EFFECT_ROTOTILLER] = 0, // TODO: Assign points + [EFFECT_FLOWER_SHIELD] = 0, // TODO: Assign points + [EFFECT_HIT_PREVENT_ESCAPE] = 0, // TODO: Assign points + [EFFECT_SPEED_SWAP] = 0, // TODO: Assign points + [EFFECT_DEFENSE_UP2_HIT] = 0, // TODO: Assign points + [EFFECT_REVELATION_DANCE] = 0, // TODO: Assign points + [EFFECT_AURORA_VEIL] = 0, // TODO: Assign points + [EFFECT_THIRD_TYPE] = 0, // TODO: Assign points + [EFFECT_FEINT] = 0, // TODO: Assign points + [EFFECT_SPARKLING_ARIA] = 0, // TODO: Assign points + [EFFECT_ACUPRESSURE] = 0, // TODO: Assign points + [EFFECT_AROMATIC_MIST] = 0, // TODO: Assign points + [EFFECT_POWDER] = 0, // TODO: Assign points + [EFFECT_SP_ATTACK_UP_HIT] = 0, // TODO: Assign points + [EFFECT_BELCH] = 0, // TODO: Assign points + [EFFECT_PARTING_SHOT] = 0, // TODO: Assign points + [EFFECT_SPECTRAL_THIEF] = 0, // TODO: Assign points + [EFFECT_V_CREATE] = 0, // TODO: Assign points + [EFFECT_MAT_BLOCK] = 0, // TODO: Assign points + [EFFECT_STOMPING_TANTRUM] = 0, // TODO: Assign points + [EFFECT_CORE_ENFORCER] = 0, // TODO: Assign points + [EFFECT_INSTRUCT] = 0, // TODO: Assign points + [EFFECT_THROAT_CHOP] = 0, // TODO: Assign points + [EFFECT_LASER_FOCUS] = 0, // TODO: Assign points + [EFFECT_MAGNETIC_FLUX] = 0, // TODO: Assign points + [EFFECT_GEAR_UP] = 0, // TODO: Assign points + [EFFECT_INCINERATE] = 0, // TODO: Assign points + [EFFECT_BUG_BITE] = 0, // TODO: Assign points + [EFFECT_STRENGTH_SAP] = 0, // TODO: Assign points + [EFFECT_MIND_BLOWN] = 0, // TODO: Assign points + [EFFECT_PURIFY] = 0, // TODO: Assign points + [EFFECT_BURN_UP] = 0, // TODO: Assign points + [EFFECT_SHORE_UP] = 0, // TODO: Assign points + [EFFECT_GEOMANCY] = 0, // TODO: Assign points + [EFFECT_FAIRY_LOCK] = 0, // TODO: Assign points + [EFFECT_ALLY_SWITCH] = 0, // TODO: Assign points + [EFFECT_RELIC_SONG] = 0, // TODO: Assign points + [EFFECT_ATTACKER_DEFENSE_DOWN_HIT] = 0, // TODO: Assign points + [EFFECT_BODY_PRESS] = 0, // TODO: Assign points + [EFFECT_EERIE_SPELL] = 0, // TODO: Assign points + [EFFECT_JUNGLE_HEALING] = 0, // TODO: Assign points + [EFFECT_COACHING] = 0, // TODO: Assign points + [EFFECT_LASH_OUT] = 0, // TODO: Assign points + [EFFECT_GRASSY_GLIDE] = 0, // TODO: Assign points + [EFFECT_REMOVE_TERRAIN] = 0, // TODO: Assign points + [EFFECT_DYNAMAX_DOUBLE_DMG] = 0, // TODO: Assign points + [EFFECT_DECORATE] = 0, // TODO: Assign points + [EFFECT_SNIPE_SHOT] = 0, // TODO: Assign points + [EFFECT_RECOIL_HP_25] = 0, // TODO: Assign points + [EFFECT_STUFF_CHEEKS] = 0, // TODO: Assign points + [EFFECT_GRAV_APPLE] = 0, // TODO: Assign points + [EFFECT_EVASION_UP_HIT] = 0, // TODO: Assign points + [EFFECT_GLITZY_GLOW] = 0, // TODO: Assign points + [EFFECT_BADDY_BAD] = 0, // TODO: Assign points + [EFFECT_SAPPY_SEED] = 0, // TODO: Assign points + [EFFECT_FREEZY_FROST] = 0, // TODO: Assign points + [EFFECT_SPARKLY_SWIRL] = 0, // TODO: Assign points + [EFFECT_PLASMA_FISTS] = 0, // TODO: Assign points + [EFFECT_HYPERSPACE_FURY] = 0, // TODO: Assign points + [EFFECT_AURA_WHEEL] = 0, // TODO: Assign points + [EFFECT_PHOTON_GEYSER] = 0, // TODO: Assign points + [EFFECT_SHELL_SIDE_ARM] = 0, // TODO: Assign points + [EFFECT_TERRAIN_PULSE] = 0, // TODO: Assign points + [EFFECT_JAW_LOCK] = 0, // TODO: Assign points + [EFFECT_NO_RETREAT] = 0, // TODO: Assign points + [EFFECT_TAR_SHOT] = 0, // TODO: Assign points + [EFFECT_POLTERGEIST] = 0, // TODO: Assign points + [EFFECT_OCTOLOCK] = 0, // TODO: Assign points + [EFFECT_CLANGOROUS_SOUL] = 0, // TODO: Assign points + [EFFECT_BOLT_BEAK] = 0, // TODO: Assign points + [EFFECT_SKY_DROP] = 0, // TODO: Assign points + [EFFECT_EXPANDING_FORCE] = 0, // TODO: Assign points + [EFFECT_SCALE_SHOT] = 0, // TODO: Assign points + [EFFECT_METEOR_BEAM] = 0, // TODO: Assign points + [EFFECT_RISING_VOLTAGE] = 0, // TODO: Assign points + [EFFECT_BEAK_BLAST] = 0, // TODO: Assign points + [EFFECT_COURT_CHANGE] = 0, // TODO: Assign points + [EFFECT_STEEL_BEAM] = 0, // TODO: Assign points + [EFFECT_EXTREME_EVOBOOST] = 0, // TODO: Assign points + [EFFECT_DAMAGE_SET_TERRAIN] = 0, // TODO: Assign points + [EFFECT_DARK_VOID] = 0, // TODO: Assign points + [EFFECT_SLEEP_HIT] = 1, + [EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points + [EFFECT_SPECIAL_ATTACK_UP_HIT] = 1, + [EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points }; static const u16 sPoints_Effectiveness[] = diff --git a/src/battle_util.c b/src/battle_util.c index fe71189be5..00e3b869b1 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -34,7 +34,6 @@ #include "field_weather.h" #include "constants/abilities.h" #include "constants/battle_anim.h" -#include "constants/battle_config.h" #include "constants/battle_move_effects.h" #include "constants/battle_script_commands.h" #include "constants/battle_string_ids.h" @@ -59,6 +58,9 @@ functions instead of at the top of the file with the other declarations. static bool32 TryRemoveScreens(u8 battler); static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId); static u8 GetFlingPowerFromItemId(u16 itemId); +static void SetRandomMultiHitCounter(); +static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item); +static u16 GetInverseTypeMultiplier(u16 multiplier); extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -218,6 +220,23 @@ static const u16 sEntrainmentTargetSimpleBeamBannedAbilities[] = ABILITY_GULP_MISSILE, }; +static u8 CalcBeatUpPower(void) +{ + struct Pokemon *party; + u8 basePower; + u16 species; + + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + // Party slot is set in the battle script for Beat Up + species = GetMonData(&party[gBattleCommunication[0] - 1], MON_DATA_SPECIES); + basePower = (gSpeciesInfo[species].baseAttack / 10) + 5; + + return basePower; +} + bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) { u32 ability = GetBattlerAbility(battlerAtk); @@ -252,6 +271,7 @@ void HandleAction_UseMove(void) gBattleStruct->atkCancellerTracker = 0; gMoveResultFlags = 0; gMultiHitCounter = 0; + gBattleScripting.savedDmg = 0; gBattleCommunication[MISS_TYPE] = 0; gBattleScripting.savedMoveEffect = 0; gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); @@ -1237,38 +1257,6 @@ static const u16 sTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPE {X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(1.0)}, // fairy }; -static const u16 sInverseTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] = -{ -// normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark fairy - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // normal - {X(0.5), X(1.0), X(2.0), X(2.0), X(1.0), X(0.5), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(2.0)}, // fight - {X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // flying - {X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5)}, // poison - {X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(2.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(2.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // ground - {X(1.0), X(2.0), X(0.5), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0)}, // rock - {X(1.0), X(2.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(0.5), X(2.0)}, // bug - #if B_STEEL_RESISTANCES >= GEN_6 - {X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0)}, // ghost - #else - {X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0)}, // ghost - #endif - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(0.5)}, // steel - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // mystery - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(1.0), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0)}, // fire - {X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // water - {X(1.0), X(1.0), X(2.0), X(2.0), X(0.5), X(0.5), X(2.0), X(1.0), X(2.0), X(1.0), X(2.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // grass - {X(1.0), X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(2.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // electric - {X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(2.0), X(1.0)}, // psychic - {X(1.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(1.0)}, // ice - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(2.0)}, // dragon - #if B_STEEL_RESISTANCES >= GEN_6 - {X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(2.0)}, // dark - #else - {X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(2.0)}, // dark - #endif - {X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(0.5), X(1.0)}, // fairy -}; - #undef X // code @@ -2056,8 +2044,8 @@ u8 GetImprisonedMovesCount(u8 battlerId, u16 move) void RestoreBattlerOriginalTypes(u8 battlerId) { - gBattleMons[battlerId].type1 = gBaseStats[gBattleMons[battlerId].species].type1; - gBattleMons[battlerId].type2 = gBaseStats[gBattleMons[battlerId].species].type2; + gBattleMons[battlerId].type1 = gSpeciesInfo[gBattleMons[battlerId].species].type1; + gBattleMons[battlerId].type2 = gSpeciesInfo[gBattleMons[battlerId].species].type2; } void TryToApplyMimicry(u8 battlerId, bool8 various) @@ -2105,24 +2093,23 @@ void TryToRevertMimicry(void) } } -u32 GetMonFriendshipScore(struct Pokemon *pokemon) +u32 GetBattlerFriendshipScore(u8 battlerId) { - u32 friendshipScore = GetMonData(pokemon, MON_DATA_FRIENDSHIP); + u8 side = GetBattlerSide(battlerId); + struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + u16 species = GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - if (friendshipScore == MAX_FRIENDSHIP) - return FRIENDSHIP_MAX; - if (friendshipScore >= 200) - return FRIENDSHIP_200_TO_254; - if (friendshipScore >= 150) - return FRIENDSHIP_150_TO_199; - if (friendshipScore >= 100) - return FRIENDSHIP_100_TO_149; - if (friendshipScore >= 50) - return FRIENDSHIP_50_TO_99; - if (friendshipScore >= 1) - return FRIENDSHIP_1_TO_49; + if (side != B_SIDE_PLAYER) + return FRIENDSHIP_NONE; + else if (gSpeciesInfo[species].flags & SPECIES_FLAG_MEGA_EVOLUTION + || (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER + | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_LINK + | BATTLE_TYPE_RECORDED_LINK + | BATTLE_TYPE_SECRET_BASE))) + return FRIENDSHIP_NONE; - return FRIENDSHIP_NONE; + return GetMonFriendshipScore(&party[gBattlerPartyIndexes[battlerId]]); } enum @@ -2611,7 +2598,7 @@ u8 DoFieldEndTurnEffects(void) { #if B_AFFECTION_MECHANICS == TRUE if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER - && GetMonFriendshipScore(&gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]) >= FRIENDSHIP_150_TO_199 + && GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_150_TO_199 && (Random() % 100 < 20)) { gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -3205,8 +3192,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_PLASMA_FISTS: - for (i = 0; i < gBattlersCount; i++) - gStatuses4[i] &= ~STATUS4_PLASMA_FISTS; + gStatuses4[gActiveBattler] &= ~STATUS4_PLASMA_FISTS; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_BATTLER_COUNT: // done @@ -3458,6 +3444,7 @@ enum CANCELLER_POWDER_MOVE, CANCELLER_POWDER_STATUS, CANCELLER_THROAT_CHOP, + CANCELLER_MULTIHIT_MOVES, CANCELLER_Z_MOVES, CANCELLER_END, CANCELLER_PSYCHIC_TERRAIN, @@ -3475,6 +3462,7 @@ u8 AtkCanceller_UnableToUseMove(void) case CANCELLER_FLAGS: // flags clear gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_DESTINY_BOND; gStatuses3[gBattlerAttacker] &= ~STATUS3_GRUDGE; + gBattleScripting.tripleKickPower = 0; gBattleStruct->atkCancellerTracker++; break; case CANCELLER_SKY_DROP: @@ -3832,6 +3820,67 @@ u8 AtkCanceller_UnableToUseMove(void) } gBattleStruct->atkCancellerTracker++; break; + case CANCELLER_MULTIHIT_MOVES: + if (gBattleMoves[gCurrentMove].effect == EFFECT_MULTI_HIT) + { + u16 ability = gBattleMons[gBattlerAttacker].ability; + + if (ability == ABILITY_SKILL_LINK) + { + gMultiHitCounter = 5; + } + else if (ability == ABILITY_BATTLE_BOND + && gCurrentMove == MOVE_WATER_SHURIKEN + && gBattleMons[gBattlerAttacker].species == SPECIES_GRENINJA_ASH) + { + gMultiHitCounter = 3; + } + else + { + SetRandomMultiHitCounter(); + } + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + else if (gBattleMoves[gCurrentMove].flags & FLAG_TWO_STRIKES) + { + gMultiHitCounter = 2; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + if (gCurrentMove == MOVE_DRAGON_DARTS) + { + // TODO + } + } + else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK || gCurrentMove == MOVE_SURGING_STRIKES) + { + gMultiHitCounter = 3; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + #if B_BEAT_UP >= GEN_5 + else if (gBattleMoves[gCurrentMove].effect == EFFECT_BEAT_UP) + { + struct Pokemon* party; + int i; + + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) + party = gPlayerParty; + else + party = gEnemyParty; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&party[i], MON_DATA_HP) + && GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&party[i], MON_DATA_IS_EGG) + && !GetMonData(&party[i], MON_DATA_STATUS)) + gMultiHitCounter++; + } + + gBattleCommunication[0] = 0; // For later + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) + } + #endif + gBattleStruct->atkCancellerTracker++; + break; case CANCELLER_END: break; } @@ -4156,7 +4205,7 @@ static bool32 TryChangeBattleTerrain(u32 battler, u32 statusFlag, u8 *timer) { if (!(gFieldStatuses & statusFlag)) { - gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | EFFECT_ELECTRIC_TERRAIN | EFFECT_PSYCHIC_TERRAIN); + gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN); gFieldStatuses |= statusFlag; if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_TERRAIN_EXTENDER) @@ -4698,10 +4747,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[battler].intimidatedMon)) + if (!gSpecialStatuses[battler].switchInAbilityDone) { - gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_INTIMIDATED; - gSpecialStatuses[battler].intimidatedMon = TRUE; + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + SET_STATCHANGER(STAT_ATK, 1, TRUE); + BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivates); + effect++; } break; case ABILITY_FORECAST: @@ -4922,14 +4973,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gDisableStructs[gBattlerAttacker].truantCounter ^= 1; break; case ABILITY_BAD_DREAMS: - if (gBattleMons[battler].status1 & STATUS1_SLEEP - || gBattleMons[BATTLE_OPPOSITE(battler)].status1 & STATUS1_SLEEP - || GetBattlerAbility(battler) == ABILITY_COMATOSE - || GetBattlerAbility(BATTLE_OPPOSITE(battler)) == ABILITY_COMATOSE) - { - BattleScriptPushCursorAndCallback(BattleScript_BadDreamsActivates); - effect++; - } + BattleScriptPushCursorAndCallback(BattleScript_BadDreamsActivates); + effect++; break; SOLAR_POWER_HP_DROP: case ABILITY_SOLAR_POWER: @@ -5160,9 +5205,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && moveType == TYPE_DARK && CompareStat(battler, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_ATK, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5173,9 +5219,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && (moveType == TYPE_DARK || moveType == TYPE_BUG || moveType == TYPE_GHOST) && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPEED, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5186,9 +5233,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && moveType == TYPE_WATER && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_DEF, 2, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5198,9 +5246,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && IsBattlerAlive(battler) && CompareStat(battler, STAT_DEF, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_DEF, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5215,9 +5264,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) && CompareStat(battler, STAT_SPATK, MAX_STAT_STAGE, CMP_LESS_THAN)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPATK, 1, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5555,9 +5605,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN) && (moveType == TYPE_FIRE || moveType == TYPE_WATER)) { + gEffectBattler = battler; SET_STATCHANGER(STAT_SPEED, 6, FALSE); BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseOnMoveEnd; + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; effect++; } break; @@ -5876,30 +5927,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } } break; - case ABILITYEFFECT_INTIMIDATE1: - case ABILITYEFFECT_INTIMIDATE2: - for (i = 0; i < gBattlersCount; i++) - { - if (GetBattlerAbility(i) == ABILITY_INTIMIDATE && gBattleResources->flags->flags[i] & RESOURCE_FLAG_INTIMIDATED - && (IsBattlerAlive(BATTLE_OPPOSITE(i)) || IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(i))))) // At least one opposing mon has to be alive. - { - gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_INTIMIDATED; - gLastUsedAbility = ABILITY_INTIMIDATE; - if (caseID == ABILITYEFFECT_INTIMIDATE1) - { - BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivatesEnd3); - } - else - { - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_IntimidateActivates; - } - battler = gBattlerAbility = gBattleStruct->intimidateBattler = i; - effect++; - break; - } - } - break; case ABILITYEFFECT_TRACE1: case ABILITYEFFECT_TRACE2: for (i = 0; i < gBattlersCount; i++) @@ -6310,7 +6337,7 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavorId); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / GetBattlerHoldEffectParam(battlerId); + gBattleMoveDamage = gBattleMons[battlerId].maxHP / GetBattlerItemHoldEffectParam(battlerId, itemId); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -6346,7 +6373,7 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) static u8 StatRaiseBerry(u32 battlerId, u32 itemId, u32 statId, bool32 end2) { - if (CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), itemId)) + if (CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) { BufferStatChange(battlerId, statId, STRINGID_STATROSE); gEffectBattler = battlerId; @@ -6382,7 +6409,7 @@ static u8 RandomStatRaiseBerry(u32 battlerId, u32 itemId, bool32 end2) if (CompareStat(battlerId, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)) break; } - if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), itemId)) + if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) { u16 battlerAbility = GetBattlerAbility(battlerId); do @@ -6501,9 +6528,9 @@ static u8 ItemHealHp(u32 battlerId, u32 itemId, bool32 end2, bool32 percentHeal) && HasEnoughHpToEatBerry(battlerId, 2, itemId)) { if (percentHeal) - gBattleMoveDamage = (gBattleMons[battlerId].maxHP * GetBattlerHoldEffectParam(battlerId) / 100) * -1; + gBattleMoveDamage = (gBattleMons[battlerId].maxHP * GetBattlerItemHoldEffectParam(battlerId, itemId) / 100) * -1; else - gBattleMoveDamage = GetBattlerHoldEffectParam(battlerId) * -1; + gBattleMoveDamage = GetBattlerItemHoldEffectParam(battlerId, itemId) * -1; // check ripen if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battlerId) == ABILITY_RIPEN) @@ -6586,6 +6613,192 @@ static bool32 GetMentalHerbEffect(u8 battlerId) return ret; } +static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) +{ + u8 effect = 0; + u32 i; + + switch (holdEffect) + { +#if B_HP_BERRIES >= GEN_4 + case HOLD_EFFECT_MICLE_BERRY: + effect = TrySetMicleBerry(battlerId, gLastUsedItem, FALSE); + break; + case HOLD_EFFECT_RESTORE_HP: + effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, FALSE); + break; +#endif +#if B_BERRIES_INSTANT >= GEN_4 + case HOLD_EFFECT_RESTORE_PCT_HP: + effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, TRUE); + break; + case HOLD_EFFECT_CONFUSE_SPICY: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, FALSE); + break; + case HOLD_EFFECT_CONFUSE_DRY: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, FALSE); + break; + case HOLD_EFFECT_CONFUSE_SWEET: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, FALSE); + break; + case HOLD_EFFECT_CONFUSE_BITTER: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, FALSE); + break; + case HOLD_EFFECT_CONFUSE_SOUR: + effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, FALSE); + break; + case HOLD_EFFECT_ATTACK_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, FALSE); + break; + case HOLD_EFFECT_DEFENSE_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, FALSE); + break; + case HOLD_EFFECT_SPEED_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, FALSE); + break; + case HOLD_EFFECT_SP_ATTACK_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, FALSE); + break; + case HOLD_EFFECT_SP_DEFENSE_UP: + effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, FALSE); + break; + case HOLD_EFFECT_RANDOM_STAT_UP: + effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, FALSE); + break; +#endif + case HOLD_EFFECT_CURE_PAR: + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureParRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_PSN: + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_BRN: + if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_FRZ: + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_SLP: + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; + gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_CURE_CONFUSION: + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) + { + gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; + effect = ITEM_EFFECT_OTHER; + } + break; + case HOLD_EFFECT_MENTAL_HERB: + if (GetMentalHerbEffect(battlerId)) + { + gBattleScripting.savedBattler = gBattlerAttacker; + gBattlerAttacker = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_MentalHerbCureRet; + effect = ITEM_EFFECT_OTHER; + } + break; + case HOLD_EFFECT_CURE_STATUS: + if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) + { + if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + { + gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); + } + + if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_BURN) + StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); + + if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); + + if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); + + gBattleMons[battlerId].status1 = 0; + gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; + BattleScriptPushCursor(); + gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; + gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; + effect = ITEM_STATUS_CHANGE; + } + break; + case HOLD_EFFECT_RESTORE_STATS: + for (i = 0; i < NUM_BATTLE_STATS; i++) + { + if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + { + gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + effect = ITEM_STATS_CHANGE; + } + } + if (effect != 0) + { + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; + return effect; + } + break; + case HOLD_EFFECT_CRITICAL_UP: // lansat berry + if (B_BERRIES_INSTANT >= GEN_4 + && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) + && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) + { + gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = battlerId; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_BerryFocusEnergyRet; + effect = ITEM_EFFECT_OTHER; + } + break; + } + + return effect; +} + u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { int i = 0, moveType; @@ -6595,9 +6808,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u8 atkHoldEffectParam; u16 atkItem; - gLastUsedItem = gBattleMons[battlerId].item; - battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); - + if (caseID != ITEMEFFECT_USE_LAST_ITEM) { + gLastUsedItem = gBattleMons[battlerId].item; + battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); + } + atkItem = gBattleMons[gBattlerAttacker].item; atkHoldEffect = GetBattlerHoldEffect(gBattlerAttacker, TRUE); atkHoldEffectParam = GetBattlerHoldEffectParam(gBattlerAttacker); @@ -6665,9 +6880,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, TRUE); break; case HOLD_EFFECT_CRITICAL_UP: - if (!(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), gLastUsedItem)) + if (!(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } @@ -6981,9 +7197,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; case HOLD_EFFECT_CRITICAL_UP: if (!moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) - && HasEnoughHpToEatBerry(battlerId, GetBattlerHoldEffectParam(battlerId), gLastUsedItem)) + && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battlerId; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } @@ -7118,179 +7335,26 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } } break; - case ITEMEFFECT_BATTLER_MOVE_END: - goto DO_ITEMEFFECT_MOVE_END; // this hurts a bit to do, but is an easy solution + case ITEMEFFECT_USE_LAST_ITEM: + effect = ItemEffectMoveEnd(battlerId, ItemId_GetHoldEffect(gLastUsedItem)); + gBattleScripting.overrideBerryRequirements = 2; // to exit VARIOUS_CONSUME_BERRIES + if (effect) + { + gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + if (effect == ITEM_STATUS_CHANGE) + { + BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBattlerForControllerExec(gActiveBattler); + } + break; + } + break; case ITEMEFFECT_MOVE_END: for (battlerId = 0; battlerId < gBattlersCount; battlerId++) { gLastUsedItem = gBattleMons[battlerId].item; - battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); - DO_ITEMEFFECT_MOVE_END: - switch (battlerHoldEffect) - { - #if B_HP_BERRIES >= GEN_4 - case HOLD_EFFECT_MICLE_BERRY: - effect = TrySetMicleBerry(battlerId, gLastUsedItem, FALSE); - break; - case HOLD_EFFECT_RESTORE_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, FALSE); - break; - #endif - #if B_BERRIES_INSTANT >= GEN_4 - case HOLD_EFFECT_RESTORE_PCT_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, TRUE); - break; - case HOLD_EFFECT_CONFUSE_SPICY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, FALSE); - break; - case HOLD_EFFECT_CONFUSE_DRY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, FALSE); - break; - case HOLD_EFFECT_CONFUSE_SWEET: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, FALSE); - break; - case HOLD_EFFECT_CONFUSE_BITTER: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, FALSE); - break; - case HOLD_EFFECT_CONFUSE_SOUR: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, FALSE); - break; - case HOLD_EFFECT_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, FALSE); - break; - case HOLD_EFFECT_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, FALSE); - break; - case HOLD_EFFECT_SPEED_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, FALSE); - break; - case HOLD_EFFECT_SP_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, FALSE); - break; - case HOLD_EFFECT_SP_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, FALSE); - break; - case HOLD_EFFECT_RANDOM_STAT_UP: - effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, FALSE); - break; - #endif - case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureParRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) - { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; - effect = ITEM_EFFECT_OTHER; - } - break; - case HOLD_EFFECT_MENTAL_HERB: - if (GetMentalHerbEffect(battlerId)) - { - gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battlerId; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_MentalHerbCureRet; - effect = ITEM_EFFECT_OTHER; - } - break; - case HOLD_EFFECT_CURE_STATUS: - if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) - { - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) - StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) - { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; - StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); - } - - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) - StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_BURN) - StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) - StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) - StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - - gBattleMons[battlerId].status1 = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; - BattleScriptPushCursor(); - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; - gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; - effect = ITEM_STATUS_CHANGE; - } - break; - case HOLD_EFFECT_RESTORE_STATS: - for (i = 0; i < NUM_BATTLE_STATS; i++) - { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) - { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; - effect = ITEM_STATS_CHANGE; - } - } - if (effect != 0) - { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; - return effect; - } - break; - } - if (effect != 0) + effect = ItemEffectMoveEnd(battlerId, GetBattlerHoldEffect(battlerId, TRUE)); + if (effect) { gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; if (effect == ITEM_STATUS_CHANGE) @@ -7856,7 +7920,7 @@ u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) gPotentialItemEffectBattler = battlerId; -#if B_ENABLE_DEBUG == TRUE +#if DEBUG_BATTLE_MENU == TRUE if (gBattleStruct->debugHoldEffects[battlerId] != 0 && gBattleMons[battlerId].item) return gBattleStruct->debugHoldEffects[battlerId]; else @@ -7867,6 +7931,15 @@ u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) return ItemId_GetHoldEffect(gBattleMons[battlerId].item); } +// +static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item) +{ + if (item == ITEM_ENIGMA_BERRY) + return gEnigmaBerries[battlerId].holdEffectParam; + else + return ItemId_GetHoldEffectParam(item); +} + u32 GetBattlerHoldEffectParam(u8 battlerId) { if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) @@ -8232,7 +8305,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower = gBattleStruct->presentBasePower; break; case EFFECT_TRIPLE_KICK: - basePower += gBattleScripting.tripleKickPower; + basePower *= (4 - gMultiHitCounter); break; case EFFECT_SPIT_UP: basePower = 100 * gDisableStructs[battlerAtk].stockpileCounter; @@ -8405,6 +8478,11 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) if (IsBattlerTerrainAffected(gBattlerTarget, STATUS_FIELD_ELECTRIC_TERRAIN)) basePower *= 2; break; + case EFFECT_BEAT_UP: + #if B_BEAT_UP >= GEN_5 + basePower = CalcBeatUpPower(); + #endif + break; } // Move-specific base power changes @@ -9179,6 +9257,15 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move MulModifier(&finalModifier, UQ_4_12(0.5)); } + // Parental Bond Second Strike + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT) + { + if (B_PARENTAL_BOND_DMG < GEN_7) + MulModifier(&finalModifier, UQ_4_12(0.5)); + else + MulModifier(&finalModifier, UQ_4_12(0.25)); + } + // attacker's abilities switch (abilityAtk) { @@ -9471,9 +9558,9 @@ u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilit if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { - MulByTypeEffectiveness(&modifier, move, moveType, 0, gBaseStats[speciesDef].type1, 0, FALSE); - if (gBaseStats[speciesDef].type2 != gBaseStats[speciesDef].type1) - MulByTypeEffectiveness(&modifier, move, moveType, 0, gBaseStats[speciesDef].type2, 0, FALSE); + MulByTypeEffectiveness(&modifier, move, moveType, 0, gSpeciesInfo[speciesDef].type1, 0, FALSE); + if (gSpeciesInfo[speciesDef].type2 != gSpeciesInfo[speciesDef].type1) + MulByTypeEffectiveness(&modifier, move, moveType, 0, gSpeciesInfo[speciesDef].type2, 0, FALSE); if (moveType == TYPE_GROUND && abilityDef == ABILITY_LEVITATE && !(gFieldStatuses & STATUS_FIELD_GRAVITY)) modifier = UQ_4_12(0.0); @@ -9485,11 +9572,26 @@ u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilit return modifier; } +static u16 GetInverseTypeMultiplier(u16 multiplier) +{ + switch (multiplier) + { + case UQ_4_12(0.0): + case UQ_4_12(0.5): + return UQ_4_12(2.0); + case UQ_4_12(2.0): + return UQ_4_12(0.5); + case UQ_4_12(1.0): + default: + return UQ_4_12(1.0); + } +} + u16 GetTypeModifier(u8 atkType, u8 defType) { #if B_FLAG_INVERSE_BATTLE != 0 if (FlagGet(B_FLAG_INVERSE_BATTLE)) - return sInverseTypeEffectivenessTable[atkType][defType]; + return GetInverseTypeMultiplier(sTypeEffectivenessTable[atkType][defType]); #endif return sTypeEffectivenessTable[atkType][defType]; } @@ -9637,8 +9739,8 @@ bool32 CanMegaEvolve(u8 battlerId) // Check if there is an entry in the evolution table for regular Mega Evolution. if (GetMegaEvolutionSpecies(species, itemId) != SPECIES_NONE) { - #if B_ENABLE_DEBUG == TRUE - if (B_ENABLE_DEBUG && gBattleStruct->debugHoldEffects[battlerId]) + #if DEBUG_BATTLE_MENU == TRUE + if (gBattleStruct->debugHoldEffects[battlerId]) holdEffect = gBattleStruct->debugHoldEffects[battlerId]; else #endif @@ -9853,7 +9955,7 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) { -#if B_BADGE_BOOST != GEN_3 +#if B_BADGE_BOOST == GEN_3 if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) @@ -9984,7 +10086,7 @@ bool32 CanFling(u8 battlerId) #endif || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || gDisableStructs[battlerId].embargoTimer != 0 - || GetFlingPowerFromItemId(item) != 0 + || GetFlingPowerFromItemId(item) == 0 || !CanBattlerGetOrLoseItem(battlerId, item)) return FALSE; @@ -10397,3 +10499,31 @@ bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move) return FALSE; // Pokémon affected by Heal Block cannot target allies with Pollen Puff return TRUE; } + +static void SetRandomMultiHitCounter() +{ +#if (B_MULTI_HIT_CHANCE >= GEN_5) + // Based on Gen 5's odds + // 35% for 2 hits + // 35% for 3 hits + // 15% for 4 hits + // 15% for 5 hits + gMultiHitCounter = Random() % 100; + if (gMultiHitCounter < 35) + gMultiHitCounter = 2; + else if (gMultiHitCounter < 35 + 35) + gMultiHitCounter = 3; + else if (gMultiHitCounter < 35 + 35 + 15) + gMultiHitCounter = 4; + else + gMultiHitCounter = 5; +#else + // 2 and 3 hits: 37.5% + // 4 and 5 hits: 12.5% + gMultiHitCounter = Random() % 4; + if (gMultiHitCounter > 1) + gMultiHitCounter = (Random() % 4) + 2; + else + gMultiHitCounter += 2; +#endif +} diff --git a/src/battle_z_move.c b/src/battle_z_move.c index f0d62f7fe1..2eccd82f52 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -31,7 +31,6 @@ #include "constants/battle_anim.h" #include "constants/rgb.h" #include "battle_debug.h" -#include "constants/battle_config.h" #include "data.h" #include "pokemon_summary_screen.h" #include "constants/songs.h" @@ -166,12 +165,20 @@ bool32 IsViableZMove(u8 battlerId, u16 move) u32 item; u16 holdEffect; u16 species; + int moveSlotIndex; + + species = gBattleMons[battlerId].species; + item = gBattleMons[battlerId].item; + + for (moveSlotIndex = 0; moveSlotIndex < MAX_MON_MOVES; moveSlotIndex++) + { + if (gBattleMons[battlerId].moves[moveSlotIndex] == move && gBattleMons[battlerId].pp[moveSlotIndex] == 0) + return FALSE; + } if (gBattleStruct->zmove.used[battlerId]) return FALSE; - species = gBattleMons[battlerId].species; - item = gBattleMons[battlerId].item; if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) return FALSE; @@ -187,7 +194,7 @@ bool32 IsViableZMove(u8 battlerId, u16 move) return FALSE; // Partner has mega evolved or is about to mega evolve } -#if B_ENABLE_DEBUG == TRUE +#if DEBUG_BATTLE_MENU == TRUE if (gBattleStruct->debugHoldEffects[battlerId]) holdEffect = gBattleStruct->debugHoldEffects[battlerId]; else diff --git a/src/berry_blender.c b/src/berry_blender.c index 6ff17931b3..52daa1721f 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1008,7 +1008,7 @@ static bool8 LoadBerryBlenderGfx(void) static void DrawBlenderBg(void) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); ShowBg(0); ShowBg(1); @@ -1029,7 +1029,7 @@ static void InitBerryBlenderWindows(void) for (i = 0; i < 5; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); Menu_LoadStdPalAt(0xE0); } } @@ -2676,7 +2676,7 @@ static void CB2_EndBlenderGame(void) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 1: - case -1: + case MENU_B_PRESSED: sBerryBlender->yesNoAnswer = 1; sBerryBlender->gameEndState++; for (i = 0; i < BLENDER_MAX_PLAYERS; i++) diff --git a/src/bike.c b/src/bike.c index ae30ce288b..8f3faa2da0 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1053,7 +1053,11 @@ void Bike_HandleBumpySlopeJump(void) bool32 IsRunningDisallowed(u8 metatile) { +#if OW_RUNNING_INDOORS == GEN_3 if (!gMapHeader.allowRunning || IsRunningDisallowedByMetatile(metatile) == TRUE) +#else + if (IsRunningDisallowedByMetatile(metatile) == TRUE) +#endif return TRUE; else return FALSE; diff --git a/src/braille.c b/src/braille.c index 704f50760b..91872b88a0 100644 --- a/src/braille.c +++ b/src/braille.c @@ -88,7 +88,7 @@ u16 FontFunc_Braille(struct TextPrinter *textPrinter) subStruct->fontId = *textPrinter->printerTemplate.currentChar; textPrinter->printerTemplate.currentChar++; return RENDER_REPEAT; - case EXT_CTRL_CODE_RESET_SIZE: + case EXT_CTRL_CODE_RESET_FONT: return RENDER_REPEAT; case EXT_CTRL_CODE_PAUSE: textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar++; @@ -109,7 +109,7 @@ u16 FontFunc_Braille(struct TextPrinter *textPrinter) case EXT_CTRL_CODE_ESCAPE: char_ = *++textPrinter->printerTemplate.currentChar; break; - case EXT_CTRL_CODE_SHIFT_TEXT: + case EXT_CTRL_CODE_SHIFT_RIGHT: textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar++; return RENDER_REPEAT; case EXT_CTRL_CODE_SHIFT_DOWN: diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index 9b79b48f1f..ed5461d918 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -95,7 +95,7 @@ static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId) gTasks[taskId].func = Task_ClearSaveData; break; case 1: - case -1: + case MENU_B_PRESSED: PlaySE(SE_SELECT); DestroyTask(taskId); SetMainCallback2(CB2_FadeAndDoReset); diff --git a/src/contest.c b/src/contest.c index 0b5eda51b9..b9ec9add6d 100644 --- a/src/contest.c +++ b/src/contest.c @@ -525,6 +525,9 @@ static const struct SpriteTemplate sSpriteTemplates_NextTurn[CONTESTANT_COUNT] = } }; +/* v-- Origin +[0 +][1 ] 64x8 +*/ static const struct Subsprite sSubsprites_NextTurn[] = { { @@ -5314,7 +5317,7 @@ static void SetMoveSpecificAnimData(u8 contestant) switch (move) { case MOVE_CURSE: - if (gBaseStats[species].type1 == TYPE_GHOST || gBaseStats[species].type2 == TYPE_GHOST) + if (gSpeciesInfo[species].type1 == TYPE_GHOST || gSpeciesInfo[species].type2 == TYPE_GHOST) gAnimMoveTurn = 0; else gAnimMoveTurn = 1; diff --git a/src/contest_util.c b/src/contest_util.c index dfd69a2857..1adb0d28bd 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -1150,24 +1150,24 @@ static void TryCreateWirelessSprites(void) static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) { u16 windowId; - int origWidth; + int tileWidth; int strWidth; u8 *spriteTilePtrs[4]; u8 *dst; struct WindowTemplate windowTemplate; memset(&windowTemplate, 0, sizeof(windowTemplate)); - windowTemplate.width = 30; + windowTemplate.width = DISPLAY_TILE_WIDTH; windowTemplate.height = 2; windowId = AddWindow(&windowTemplate); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); - origWidth = GetStringWidth(FONT_NORMAL, text, 0); - strWidth = (origWidth + 9) / 8; - if (strWidth > 30) - strWidth = 30; + strWidth = GetStringWidth(FONT_NORMAL, text, 0); + tileWidth = (strWidth + 9) / 8; + if (tileWidth > DISPLAY_TILE_WIDTH) + tileWidth = DISPLAY_TILE_WIDTH; - AddTextPrinterParameterized3(windowId, FONT_NORMAL, (strWidth * 8 - origWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text); + AddTextPrinterParameterized3(windowId, FONT_NORMAL, (tileWidth * 8 - strWidth) / 2, 1, sContestLinkTextColors, TEXT_SKIP_DRAW, text); { s32 i; struct Sprite *sprite; @@ -1190,7 +1190,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) CpuCopy32(src + 128, dst + 0x200, 0x20); CpuCopy32(src + 64, dst + 0x300, 0x20); - for (i = 0; i < strWidth; i++) + for (i = 0; i < tileWidth; i++) { dst = &spriteTilePtrs[(i + 1) / 8][((i + 1) % 8) * 32]; CpuCopy32(src + 192, dst, 0x20); @@ -1208,7 +1208,7 @@ static s32 DrawResultsTextWindow(const u8 *text, u8 spriteId) } RemoveWindow(windowId); - return (DISPLAY_WIDTH - (strWidth + 2) * 8) / 2; + return (DISPLAY_WIDTH - (tileWidth + 2) * 8) / 2; } static void CreateResultsTextWindowSprites(void) diff --git a/src/credits.c b/src/credits.c index 958639e465..a857e05806 100644 --- a/src/credits.c +++ b/src/credits.c @@ -184,7 +184,7 @@ static const struct WindowTemplate sWindowTemplates[] = .bg = 0, .tilemapLeft = 0, .tilemapTop = 9, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 12, .paletteNum = 8, .baseBlock = 1 diff --git a/src/data/.gitignore b/src/data/.gitignore index eaf9e1f6d0..f9205e5627 100755 --- a/src/data/.gitignore +++ b/src/data/.gitignore @@ -1 +1,3 @@ wild_encounters.h +region_map/region_map_entries.h +region_map/porymap_config.json diff --git a/src/data/bard_music/actions.h b/src/data/bard_music/actions.h index fd8e63061d..5acac34502 100644 --- a/src/data/bard_music/actions.h +++ b/src/data/bard_music/actions.h @@ -2,628 +2,628 @@ #define GUARD_DATA_BARD_MUSIC_ACTIONS_H const struct BardSound gBardSounds_Actions[][6] = { { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 47 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 26 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 41 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h index e56efaa244..c86138d2c4 100644 --- a/src/data/bard_music/adjectives.h +++ b/src/data/bard_music/adjectives.h @@ -2,292 +2,292 @@ #define GUARD_DATA_BARD_MUSIC_ADJECTIVES_H const struct BardSound gBardSounds_Adjectives[][6] = { { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 50 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 8 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 29 }, + { .songLengthId = 51 } } }; diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h index 1dd5c7f56f..291d22872a 100644 --- a/src/data/bard_music/bard_sounds.h +++ b/src/data/bard_music/bard_sounds.h @@ -1,7 +1,7 @@ #ifndef GUARD_BARD_SOUNDS_TABLE_H #define GUARD_BARD_SOUNDS_TABLE_H -#define NULL_BARD_SOUND { 0xff } +#define NULL_BARD_SOUND { .songLengthId = 0xff } #include "pokemon.h" #include "moves.h" diff --git a/src/data/bard_music/battle.h b/src/data/bard_music/battle.h index 19d032f560..c2cb57134f 100644 --- a/src/data/bard_music/battle.h +++ b/src/data/bard_music/battle.h @@ -2,508 +2,508 @@ #define GUARD_DATA_BARD_MUSIC_BATTLE_H const struct BardSound gBardSounds_Battle[][6] = { { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 22 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/conditions.h b/src/data/bard_music/conditions.h index d79cc100ba..c56421e63f 100644 --- a/src/data/bard_music/conditions.h +++ b/src/data/bard_music/conditions.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_CONDITIONS_H const struct BardSound gBardSounds_Conditions[][6] = { { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 10 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 10 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 42 }, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 26 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 10 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 29 }, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 22 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x16, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 22 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 50 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/endings.h b/src/data/bard_music/endings.h index 7e43045212..2513476595 100644 --- a/src/data/bard_music/endings.h +++ b/src/data/bard_music/endings.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_ENDINGS_H const struct BardSound gBardSounds_Endings[][6] = { { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 14 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/events.h b/src/data/bard_music/events.h index 70960e15d4..b33c1e2b30 100644 --- a/src/data/bard_music/events.h +++ b/src/data/bard_music/events.h @@ -2,236 +2,236 @@ #define GUARD_DATA_BARD_MUSIC_EVENTS_H const struct BardSound gBardSounds_Events[][6] = { { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 44 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/feelings.h b/src/data/bard_music/feelings.h index cdab88639a..a465133970 100644 --- a/src/data/bard_music/feelings.h +++ b/src/data/bard_music/feelings.h @@ -2,556 +2,556 @@ #define GUARD_DATA_BARD_MUSIC_FEELINGS_H const struct BardSound gBardSounds_Feelings[][6] = { { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 30 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 32 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 32 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 32 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/greetings.h b/src/data/bard_music/greetings.h index 22af4dd5ce..ebddb79de4 100644 --- a/src/data/bard_music/greetings.h +++ b/src/data/bard_music/greetings.h @@ -2,340 +2,340 @@ #define GUARD_DATA_BARD_MUSIC_GREETINGS_H const struct BardSound gBardSounds_Greetings[][6] = { { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 6 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 40 }, + { .songLengthId = 13 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h index 66fdbc0c7c..db55ef1246 100644 --- a/src/data/bard_music/hobbies.h +++ b/src/data/bard_music/hobbies.h @@ -2,436 +2,436 @@ #define GUARD_DATA_BARD_MUSIC_HOBBIES_H const struct BardSound gBardSounds_Hobbies[][6] = { { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 38 }, + { .songLengthId = 4 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2f, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 47 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 14 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 5 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/length_table.h b/src/data/bard_music/length_table.h index 144c70dfc2..d53dcb23fa 100644 --- a/src/data/bard_music/length_table.h +++ b/src/data/bard_music/length_table.h @@ -2,19 +2,19 @@ #define GUARD_LENGTH_TABLE_H const int gBardSoundLengthTable[] = { - 0x09, 0x16, 0x0f, 0x10, - 0x27, 0x15, 0x09, 0x1e, - 0x18, 0x0f, 0x19, 0x0c, - 0x16, 0x2d, 0x18, 0x0f, - 0x28, 0x09, 0x15, 0x2a, - 0x12, 0x09, 0x16, 0x0f, - 0x1b, 0x30, 0x12, 0x1b, - 0x21, 0x18, 0x19, 0x27, - 0x13, 0x10, 0x36, 0x12, - 0x09, 0x2d, 0x0f, 0x0c, - 0x27, 0x17, 0x05, 0x2d, - 0x0c, 0x15, 0x30, 0x0c, - 0x15, 0x45, 0x12, 0x0f + 9, 22, 15, 16, + 39, 21, 9, 30, + 24, 15, 25, 12, + 22, 45, 24, 15, + 40, 9, 21, 42, + 18, 9, 22, 15, + 27, 48, 18, 27, + 33, 24, 25, 39, + 19, 16, 54, 18, + 9, 45, 15, 12, + 39, 23, 5, 45, + 12, 21, 48, 12, + 21, 69, 18, 15 }; diff --git a/src/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h index 7054283f44..9aeac37576 100644 --- a/src/data/bard_music/lifestyle.h +++ b/src/data/bard_music/lifestyle.h @@ -2,364 +2,364 @@ #define GUARD_DATA_BARD_MUSIC_LIFESTYLE_H const struct BardSound gBardSounds_Lifestyle[][6] = { { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 35 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 50 }, + { .songLengthId = 3 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 42 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 11 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 39 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 23 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/misc.h b/src/data/bard_music/misc.h index 84e1d55309..1bce1a45dd 100644 --- a/src/data/bard_music/misc.h +++ b/src/data/bard_music/misc.h @@ -2,340 +2,340 @@ #define GUARD_DATA_BARD_MUSIC_MISC_H const struct BardSound gBardSounds_Misc[][6] = { { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 46 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/moves.h b/src/data/bard_music/moves.h index 89fc4c0f13..3fd16697d1 100644 --- a/src/data/bard_music/moves.h +++ b/src/data/bard_music/moves.h @@ -12,2839 +12,2839 @@ const struct BardSound gBardSounds_Moves[MOVES_COUNT][6] = { NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND + NULL_BARD_SOUND, }, [MOVE_POUND] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KARATE_CHOP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_SLAP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 10 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COMET_PUNCH] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 11 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_PUNCH] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PAY_DAY] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FIRE_PUNCH] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_PUNCH] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_PUNCH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCRATCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VISE_GRIP] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GUILLOTINE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAZOR_WIND] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWORDS_DANCE] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CUT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GUST] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WING_ATTACK] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WHIRLWIND] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLY] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BIND] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLAM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VINE_WHIP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STOMP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_KICK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_KICK] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_JUMP_KICK] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLLING_KICK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAND_ATTACK] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEADBUTT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HORN_ATTACK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FURY_ATTACK] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HORN_DRILL] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TACKLE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BODY_SLAM] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 12 }, + { .songLengthId = 2 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WRAP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAKE_DOWN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x23, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THRASH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_EDGE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAIL_WHIP] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_STING] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TWINEEDLE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PIN_MISSILE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEER] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BITE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GROWL] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROAR] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPERSONIC] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SONIC_BOOM] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DISABLE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ACID] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EMBER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAMETHROWER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIST] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_GUN] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 50 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYDRO_PUMP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SURF] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_BEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLIZZARD] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYBEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BUBBLE_BEAM] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AURORA_BEAM] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_HYPER_BEAM] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PECK] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRILL_PECK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUBMISSION] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOW_KICK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COUNTER] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SEISMIC_TOSS] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRENGTH] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ABSORB] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGA_DRAIN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEECH_SEED] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GROWTH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAZOR_LEAF] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SOLAR_BEAM] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_POWDER] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STUN_SPORE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLEEP_POWDER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PETAL_DANCE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRING_SHOT] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_RAGE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_FIRE_SPIN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_SHOCK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDERBOLT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER_WAVE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THUNDER] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_THROW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EARTHQUAKE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FISSURE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIG] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TOXIC] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONFUSION] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x29, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 41 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYCHIC] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPNOSIS] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEDITATE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AGILITY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_QUICK_ATTACK] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAGE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TELEPORT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NIGHT_SHADE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIMIC] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCREECH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xd, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOUBLE_TEAM] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RECOVER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HARDEN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MINIMIZE] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMOKESCREEN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONFUSE_RAY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 45 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WITHDRAW] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DEFENSE_CURL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BARRIER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LIGHT_SCREEN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HAZE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REFLECT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOCUS_ENERGY] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, }, [MOVE_BIDE] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METRONOME] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIRROR_MOVE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x29, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 41 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SELF_DESTRUCT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EGG_BOMB] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMOG] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLUDGE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONE_CLUB] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FIRE_BLAST] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATERFALL] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 48 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CLAMP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWIFT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKULL_BASH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIKE_CANNON] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 0 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONSTRICT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AMNESIA] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KINESIS] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SOFT_BOILED] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 30 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HIGH_JUMP_KICK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GLARE] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DREAM_EATER] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_GAS] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BARRAGE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEECH_LIFE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOVELY_KISS] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_SKY_ATTACK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRANSFORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BUBBLE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIZZY_PUNCH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPORE] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYWAVE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ACID_ARMOR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRABHAMMER] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXPLOSION] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_FURY_SWIPES] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONEMERANG] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REST] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_SLIDE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPER_FANG] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHARPEN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONVERSION] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRI_ATTACK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPER_FANG] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUBSTITUTE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STRUGGLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKETCH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRIPLE_KICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_THIEF] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIDER_WEB] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIND_READER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NIGHTMARE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAME_WHEEL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SNORE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CURSE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLAIL] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CONVERSION_2] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_AEROBLAST] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COTTON_SPORE] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REVERSAL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPITE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POWDER_SNOW] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PROTECT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MACH_PUNCH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SCARY_FACE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FEINT_ATTACK] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWEET_KISS] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BELLY_DRUM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLUDGE_BOMB] = { - { 0x2b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 43 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SLAP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OCTAZOOKA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x28, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 40 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIKES] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ZAP_CANNON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FORESIGHT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DESTINY_BOND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PERISH_SONG] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICY_WIND] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DETECT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BONE_RUSH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LOCK_ON] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OUTRAGE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SANDSTORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GIGA_DRAIN] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENDURE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CHARM] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLLOUT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FALSE_SWIPE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWAGGER] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MILK_DRINK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPARK] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FURY_CUTTER] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STEEL_WING] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xd, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEAN_LOOK] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ATTRACT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLEEP_TALK] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEAL_BELL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xa, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RETURN] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PRESENT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FRUSTRATION] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAFEGUARD] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PAIN_SPLIT] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SACRED_FIRE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_MAGNITUDE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DYNAMIC_PUNCH] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEGAHORN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_BREATH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_BATON_PASS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENCORE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PURSUIT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAPID_SPIN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWEET_SCENT] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_IRON_TAIL] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METAL_CLAW] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 36 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VITAL_THROW] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MORNING_SUN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SYNTHESIS] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MOONLIGHT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HIDDEN_POWER] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CROSS_CHOP] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TWISTER] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RAIN_DANCE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUNNY_DAY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 14 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRUNCH] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIRROR_COAT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_PSYCH_UP] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXTREME_SPEED] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ANCIENT_POWER] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_SHADOW_BALL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FUTURE_SIGHT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_SMASH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WHIRLPOOL] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BEAT_UP] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FAKE_OUT] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_UPROAR] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_STOCKPILE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SPIT_UP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SWALLOW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HEAT_WAVE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HAIL] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TORMENT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FLATTER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WILL_O_WISP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MEMENTO] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FACADE] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOCUS_PUNCH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SMELLING_SALTS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FOLLOW_ME] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NATURE_POWER] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CHARGE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAUNT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HELPING_HAND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TRICK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROLE_PLAY] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WISH] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ASSIST] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_INGRAIN] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SUPERPOWER] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MAGIC_COAT] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_RECYCLE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REVENGE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BRICK_BREAK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_YAWN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_KNOCK_OFF] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ENDEAVOR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ERUPTION] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SKILL_SWAP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_IMPRISON] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_REFRESH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GRUDGE] = { - { 0x2b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SNATCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SECRET_POWER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DIVE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ARM_THRUST] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CAMOUFLAGE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TAIL_GLOW] = { - { 0x4, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 4 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LUSTER_PURGE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MIST_BALL] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FEATHER_DANCE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TEETER_DANCE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLAZE_KICK] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SPORT] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICE_BALL] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_NEEDLE_ARM] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SLACK_OFF] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYPER_VOICE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_FANG] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CRUSH_CLAW] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLAST_BURN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HYDRO_CANNON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_METEOR_MASH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0} + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, }, [MOVE_ASTONISH] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WEATHER_BALL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AROMATHERAPY] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0} + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, }, [MOVE_FAKE_TEARS] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AIR_CUTTER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_OVERHEAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ODOR_SLEUTH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_TOMB] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SILVER_WIND] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 15 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_METAL_SOUND] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_GRASS_WHISTLE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_TICKLE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COSMIC_POWER] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_SPOUT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 33 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SIGNAL_BEAM] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHADOW_PUNCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_EXTRASENSORY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, }, [MOVE_SKY_UPPERCUT] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SAND_TOMB] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHEER_COLD] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUDDY_WATER] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BULLET_SEED] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_AERIAL_ACE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ICICLE_SPEAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [MOVE_IRON_DEFENSE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BLOCK] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_HOWL] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_CLAW] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_FRENZY_PLANT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BULK_UP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_BOUNCE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MUD_SHOT] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_POISON_TAIL] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_COVET] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_VOLT_TACKLE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_MAGICAL_LEAF] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 36 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [MOVE_WATER_SPORT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_CALM_MIND] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_LEAF_BLADE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DRAGON_DANCE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_ROCK_BLAST] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_SHOCK_WAVE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_WATER_PULSE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [MOVE_DOOM_DESIRE] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [MOVE_PSYCHO_BOOST] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/people.h b/src/data/bard_music/people.h index 2db0170808..c1c2f9d3fe 100644 --- a/src/data/bard_music/people.h +++ b/src/data/bard_music/people.h @@ -2,604 +2,604 @@ #define GUARD_DATA_BARD_MUSIC_PEOPLE_H const struct BardSound gBardSounds_People[][6] = { { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, -0x9, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26, .songLengthOffset = -0x9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 8 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 38 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h index 7e6a2566d9..7d378da6f1 100644 --- a/src/data/bard_music/pokemon.h +++ b/src/data/bard_music/pokemon.h @@ -10,3095 +10,3095 @@ const struct BardSound gBardSounds_Pokemon[NUM_SPECIES][6] = { NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND + NULL_BARD_SOUND, }, [SPECIES_BULBASAUR] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_IVYSAUR] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENUSAUR] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHARMANDER] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 2 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHARMELEON] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_CHARIZARD] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_SQUIRTLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WARTORTLE] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLASTOISE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CATERPIE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METAPOD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BUTTERFREE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEDLE] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KAKUNA] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BEEDRILL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEOTTO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIDGEOT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RATTATA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RATICATE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPEAROW] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FEAROW] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EKANS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARBOK] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x17, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PIKACHU] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAICHU] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SANDSHREW] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SANDSLASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORAN_F] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORINA] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDOQUEEN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORAN_M] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDORINO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NIDOKING] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFAIRY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 11 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFABLE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VULPIX] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINETALES] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JIGGLYPUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_WIGGLYTUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_ZUBAT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLBAT] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ODDISH] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLOOM] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VILEPLUME] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PARAS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PARASECT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENONAT] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VENOMOTH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DIGLETT] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUGTRIO] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEOWTH] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 33 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PERSIAN] = { - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 50 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PSYDUCK] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLDUCK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANKEY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PRIMEAPE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROWLITHE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARCANINE] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 3 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWAG] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWHIRL] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLIWRATH] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ABRA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KADABRA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ALAKAZAM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHOP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHOKE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MACHAMP] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELLSPROUT] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEPINBELL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VICTREEBEL] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TENTACOOL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TENTACRUEL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GEODUDE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRAVELER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLEM] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PONYTA] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAPIDASH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWPOKE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWBRO] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGNEMITE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGNETON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FARFETCHD] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DODUO] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DODRIO] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEEL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DEWGONG] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRIMER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MUK] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHELLDER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLOYSTER] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GASTLY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HAUNTER] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GENGAR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ONIX] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DROWZEE] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HYPNO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KRABBY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KINGLER] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VOLTORB] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTRODE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXEGGCUTE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXEGGUTOR] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 9 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_CUBONE] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAROWAK] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONLEE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONCHAN] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LICKITUNG] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KOFFING] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WEEZING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RHYHORN] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RHYDON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHANSEY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TANGELA] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KANGASKHAN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HORSEA] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEADRA] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOLDEEN] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEAKING] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STARYU] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STARMIE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MR_MIME] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCYTHER] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JYNX] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTABUZZ] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGMAR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PINSIR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TAUROS] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGIKARP] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GYARADOS] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 29 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LAPRAS] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DITTO] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EEVEE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VAPOREON] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JOLTEON] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLAREON] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PORYGON] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OMANYTE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OMASTAR] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KABUTO] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KABUTOPS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 39 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AERODACTYL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNORLAX] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARTICUNO] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZAPDOS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MOLTRES] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRATINI] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRAGONAIR] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DRAGONITE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 21 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEWTWO] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEW] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHIKORITA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BAYLEEF] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEGANIUM] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CYNDAQUIL] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QUILAVA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x8, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 6 }, + { .songLengthId = 8 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYPHLOSION] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, [SPECIES_TOTODILE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CROCONAW] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FERALIGATR] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - NULL_BARD_SOUND + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, [SPECIES_SENTRET] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FURRET] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOOTHOOT] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NOCTOWL] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LEDYBA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LEDIAN] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPINARAK] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARIADOS] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CROBAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHINCHOU] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LANTURN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PICHU] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLEFFA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_IGGLYBUFF] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TOGEPI] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TOGETIC] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NATU] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_XATU] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAREEP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLAAFFY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AMPHAROS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 6 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELLOSSOM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MARILL] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x10, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AZUMARILL] = { - { 0x8, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x10, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 8 }, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 16 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUDOWOODO] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + { .songLengthId = 39 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POLITOED] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOPPIP] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKIPLOOM] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JUMPLUFF] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AIPOM] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUNKERN] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUNFLORA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_YANMA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WOOPER] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QUAGSIRE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ESPEON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_UMBREON] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MURKROW] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLOWKING] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MISDREAVUS] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_UNOWN] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WOBBUFFET] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 44 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GIRAFARIG] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 0 }, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PINECO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FORRETRESS] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUNSPARCE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLIGAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STEELIX] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNUBBULL] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRANBULL] = { - { 0x2, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 2 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_QWILFISH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCIZOR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHUCKLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HERACROSS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNEASEL] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TEDDIURSA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_URSARING] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLUGMA] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGCARGO] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWINUB] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PILOSWINE] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 26 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CORSOLA] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REMORAID] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_OCTILLERY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DELIBIRD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANTINE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKARMORY] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOUNDOUR] = { - { 0x23, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 35 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HOUNDOOM] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KINGDRA] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PHANPY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DONPHAN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PORYGON2] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_STANTLER] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SMEARGLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYROGUE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HITMONTOP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SMOOCHUM] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELEKID] = { - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 11 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAGBY] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MILTANK] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLISSEY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAIKOU] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ENTEI] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SUICUNE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LARVITAR] = { - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x15, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 21 }, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PUPITAR] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TYRANITAR] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUGIA] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HO_OH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CELEBI] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TREECKO] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROVYLE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SCEPTILE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TORCHIC] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_COMBUSKEN] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BLAZIKEN] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MUDKIP] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MARSHTOMP] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWAMPERT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_POOCHYENA] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MIGHTYENA] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZIGZAGOON] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LINOONE] = { - { 0x14, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 20 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WURMPLE] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SILCOON] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x28, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BEAUTIFLY] = { - { 0x2d, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CASCOON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSTOX] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x17, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 23 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOTAD] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOMBRE] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUDICOLO] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEEDOT] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NUZLEAF] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHIFTRY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINCADA] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x6, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NINJASK] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHEDINJA] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TAILLOW] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWELLOW] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHROOMISH] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BRELOOM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPINDA] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WINGULL] = { - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 15 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PELIPPER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SURSKIT] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MASQUERAIN] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WAILMER] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WAILORD] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SKITTY] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DELCATTY] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KECLEON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BALTOY] = { - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 1 }, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLAYDOL] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NOSEPASS] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TORKOAL] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SABLEYE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 11 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BARBOACH] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WHISCASH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUVDISC] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CORPHISH] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CRAWDAUNT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FEEBAS] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MILOTIC] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CARVANHA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 1 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHARPEDO] = { - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 29 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TRAPINCH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VIBRAVA] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 27 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_FLYGON] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAKUHITA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HARIYAMA] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ELECTRIKE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MANECTRIC] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_NUMEL] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0xb, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CAMERUPT] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPHEAL] = { - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEALEO] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WALREIN] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CACNEA] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CACTURNE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SNORUNT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GLALIE] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LUNATONE] = { - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 39 }, + { .songLengthId = 44 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SOLROCK] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AZURILL] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 39 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SPOINK] = { - { 0x1e, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 30 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GRUMPIG] = { - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_PLUSLE] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MINUN] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MAWILE] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEDITITE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_MEDICHAM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWABLU] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ALTARIA] = { - { 0x6, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 6 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WYNAUT] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSKULL] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x26, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DUSCLOPS] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ROSELIA] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLAKOTH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VIGOROTH] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SLAKING] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GULPIN] = { - { 0x24, 0x0, 0x0, 0x0, 0x0}, - { 0xf, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 36 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SWALOT] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_TROPIUS] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_WHISMUR] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LOUDRED] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_EXPLOUD] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CLAMPERL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x32, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_HUNTAIL] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GOREBYSS] = { - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x2c, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ABSOL] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHUPPET] = { - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 42 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BANETTE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SEVIPER] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ZANGOOSE] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RELICANTH] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARON] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1d, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LAIRON] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_AGGRON] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CASTFORM] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x1a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_VOLBEAT] = { - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ILLUMISE] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x27, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LILEEP] = { - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CRADILY] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ANORITH] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_ARMALDO] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RALTS] = { - { 0x7, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KIRLIA] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GARDEVOIR] = { - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 27 }, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BAGON] = { - { 0x5, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 5 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SHELGON] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_SALAMENCE] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_BELDUM] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METANG] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_METAGROSS] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 42 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGIROCK] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGICE] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_REGISTEEL] = { - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0xe, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_KYOGRE] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x30, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_GROUDON] = { - { 0x21, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 33 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_RAYQUAZA] = { - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x3, 0x0, 0x0, 0x0, 0x0}, - { 0x2a, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 3 }, + { .songLengthId = 3 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LATIAS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_LATIOS] = { - { 0x0, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 0 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_JIRACHI] = { - { 0x30, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 48 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_DEOXYS] = { - { 0xc, 0x0, 0x0, 0x0, 0x0}, - { 0x1b, 0x0, 0x0, 0x0, 0x0}, - { 0x11, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, [SPECIES_CHIMECHO] = { - { 0x12, 0x0, 0x0, 0x0, 0x0}, - { 0x9, 0x0, 0x0, 0x0, 0x0}, - { 0x18, 0x0, 0x0, 0x0, 0x0}, - { 0x33, 0x0, 0x0, 0x0, 0x0}, + { .songLengthId = 18 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/speech.h b/src/data/bard_music/speech.h index d0d4abb111..dc7844ec89 100644 --- a/src/data/bard_music/speech.h +++ b/src/data/bard_music/speech.h @@ -2,484 +2,484 @@ #define GUARD_DATA_BARD_MUSIC_SPEECH_H const struct BardSound gBardSounds_Speech[][6] = { { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 45 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 12 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 11 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 1 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 35 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 1 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 10 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 17 }, + { .songLengthId = 14 }, + { .songLengthId = 38 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 7 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x10, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 16 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 38 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/status.h b/src/data/bard_music/status.h index 418fe639a4..9a3fd01393 100644 --- a/src/data/bard_music/status.h +++ b/src/data/bard_music/status.h @@ -2,876 +2,876 @@ #define GUARD_DATA_BARD_MUSIC_STATUS_H const struct BardSound gBardSounds_Status[][6] = { { - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 44 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 27 }, + { .songLengthId = 50 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 21 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 24 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 50 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x29, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 41 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 42 }, + { .songLengthId = 15 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 23 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 0 }, + { .songLengthId = 50 }, + { .songLengthId = 8 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 24 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 24 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 36 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 9 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 14 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x20, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 32 }, + { .songLengthId = 27 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 0 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 8 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 15 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 38 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 17 }, + { .songLengthId = 21 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 33 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 36 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 12 }, + { .songLengthId = 3 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 9 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 48 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 42 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 21 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 1 }, + { .songLengthId = 44 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 48 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 39 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 20 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 27 }, + { .songLengthId = 48 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 45 }, + { .songLengthId = 33 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/time.h b/src/data/bard_music/time.h index 5755353a0d..1f7dac8a60 100644 --- a/src/data/bard_music/time.h +++ b/src/data/bard_music/time.h @@ -2,364 +2,364 @@ #define GUARD_DATA_BARD_MUSIC_TIME_H const struct BardSound gBardSounds_Time[][6] = { { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 28 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 2 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 9 }, + { .songLengthId = 44 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 50 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 12 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 17 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x21, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 33 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 15 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 50 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 48 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/trainer.h b/src/data/bard_music/trainer.h index a59689b6ce..05fc6a6ef4 100644 --- a/src/data/bard_music/trainer.h +++ b/src/data/bard_music/trainer.h @@ -2,220 +2,220 @@ #define GUARD_DATA_BARD_MUSIC_TRAINER_H const struct BardSound gBardSounds_Trainer[][6] = { { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 39 }, + { .songLengthId = 45 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x15, 0x0, 0x0, 0x0, 0x0 }, - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 21 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 18 }, + { .songLengthId = 50 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 9 }, + { .songLengthId = 18 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 6 }, }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x8, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 } + { .songLengthId = 9 }, + { .songLengthId = 8 }, + { .songLengthId = 6 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x32, 0x0, 0x0, 0x0, 0x0 }, - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 50 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 27 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 12 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 48 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h index 4830725ad7..ccd9083ead 100644 --- a/src/data/bard_music/trendysaying.h +++ b/src/data/bard_music/trendysaying.h @@ -2,268 +2,268 @@ #define GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H const struct BardSound gBardSounds_TrendySaying[][6] = { { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x14, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 2 }, + { .songLengthId = 20 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x1b, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27 }, + { .songLengthId = 27 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x26, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 38 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 44 }, + { .songLengthId = 18 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 29 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 17 }, + { .songLengthId = 3 }, + { .songLengthId = 26 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 11 }, + { .songLengthId = 17 }, + { .songLengthId = 14 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x0, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x3, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 3 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 36 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1d, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 29 }, + { .songLengthId = 44 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2b, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 43 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/voices.h b/src/data/bard_music/voices.h index 868ebaecfe..97f249ecb5 100644 --- a/src/data/bard_music/voices.h +++ b/src/data/bard_music/voices.h @@ -2,508 +2,508 @@ #define GUARD_DATA_BARD_MUSIC_VOICES_H const struct BardSound gBardSounds_Voices[][6] = { { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 12 }, + { .songLengthId = 48 }, + { .songLengthId = 51 }, + { .songLengthId = 12 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1b, 0x5, 0x8, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 27, .songLengthOffset = 0x5, .unused = 0x8 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x28, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 40 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x19, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 25 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x31, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 49 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x23, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 35 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, - { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + { .songLengthId = 17 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xa, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 10 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x2, 0x0, 0x0, 0x0, 0x0 }, - { 0x24, 0x0, 0x0, 0x0, 0x0 }, - NULL_BARD_SOUND + { .songLengthId = 44 }, + { .songLengthId = 14 }, + { .songLengthId = 12 }, + { .songLengthId = 2 }, + { .songLengthId = 36 }, + NULL_BARD_SOUND, }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 14 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x12, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 18 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, - { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 30 }, + { .songLengthId = 30 }, + { .songLengthId = 30 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 1 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x17, 0x0, 0x0, 0x0, 0x0 }, - { 0xb, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 23 }, + { .songLengthId = 11 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 23 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x5, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 5 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x13, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 19 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 26 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 26 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, - { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + { .songLengthId = 12 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x9, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 9 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + { .songLengthId = 24 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x2a, 0x0, 0x0, 0x0, 0x0 }, - { 0x2c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 42 }, + { .songLengthId = 44 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0xe, 0x0, 0x0, 0x0, 0x0 }, - { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 14 }, + { .songLengthId = 48 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x1c, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 28 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, - { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + { .songLengthId = 39 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0xf, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 15 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x18, 0x0, 0x0, 0x0, 0x0 }, - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 24 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x4, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 4 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x22, 0x0, 0x0, 0x0, 0x0 }, - { 0xd, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 34 }, + { .songLengthId = 13 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x7, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, - { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 7 }, + { .songLengthId = 51 }, + { .songLengthId = 51 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND }, { - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, - { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + { .songLengthId = 6 }, + NULL_BARD_SOUND, NULL_BARD_SOUND, - NULL_BARD_SOUND } }; diff --git a/src/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h index 35527017c6..7b4205da5f 100644 --- a/src/data/bard_music/word_pitch.h +++ b/src/data/bard_music/word_pitch.h @@ -3,184 +3,52 @@ #define PITCH_END 0x1800 -static const s16 sPitch1_0[] = { - -0x300, PITCH_END -}; - -static const s16 sPitch1_1[] = { - 0x0900, PITCH_END -}; - -static const s16 sPitch1_2[] = { - 0x0100, PITCH_END -}; - -static const s16 sPitch1_3[] = { - 0x0400, PITCH_END -}; - -static const s16 sPitch1_4[] = { - 0x0b00, PITCH_END -}; - -static const s16 sPitch2_0[] = { - -0x300, -0x100, PITCH_END -}; - -static const s16 sPitch2_1[] = { - -0x300, 0x0200, PITCH_END -}; - -static const s16 sPitch2_2[] = { - 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch2_3[] = { - 0x0600, 0x0800, PITCH_END -}; - -static const s16 sPitch2_4[] = { - 0x0900, 0x0800, PITCH_END -}; - -static const s16 sPitch3_0[] = { - -0x300, -0x100, -0x300, PITCH_END -}; - -static const s16 sPitch3_1[] = { - 0x0400, -0x300, 0x0400, PITCH_END -}; - -static const s16 sPitch3_2[] = { - 0x0900, 0x0800, 0x0600, PITCH_END -}; - -static const s16 sPitch3_3[] = { - 0x0100, 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch3_4[] = { - 0x0600, 0x1000, 0x0d00, PITCH_END -}; - -static const s16 sPitch4_0[] = { - 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END -}; - -static const s16 sPitch4_1[] = { - 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END -}; - -static const s16 sPitch4_2[] = { - 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch4_3[] = { - 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch4_4[] = { - 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END -}; - -static const s16 sPitch5_0[] = { - -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END -}; - -static const s16 sPitch5_1[] = { - 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch5_2[] = { - 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END -}; - -static const s16 sPitch5_3[] = { - 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END -}; - -static const s16 sPitch5_4[] = { - 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch6_0[] = { - -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END -}; - -static const s16 sPitch6_1[] = { - 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END -}; - -static const s16 sPitch6_2[] = { - 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END -}; - -static const s16 sPitch6_3[] = { - 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END -}; - -static const s16 sPitch6_4[] = { - 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END -}; - -static const s16 sPitch7_0[] = { - 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END -}; - -static const s16 sPitch7_1[] = { - 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END -}; - -static const s16 sPitch7_2[] = { - 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END -}; - -static const s16 sPitch7_3[] = { - 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END -}; - -static const s16 sPitch7_4[] = { - 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END -}; +static const s16 sPitch1_0[] = { -0x300, PITCH_END }; +static const s16 sPitch1_1[] = { 0x0900, PITCH_END }; +static const s16 sPitch1_2[] = { 0x0100, PITCH_END }; +static const s16 sPitch1_3[] = { 0x0400, PITCH_END }; +static const s16 sPitch1_4[] = { 0x0b00, PITCH_END }; +static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END }; +static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END }; +static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END }; +static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END }; +static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END }; +static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END }; +static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END }; +static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END }; +static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END }; +static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END }; +static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END }; +static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END }; +static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END }; +static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END }; +static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END }; +static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END }; +static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END }; +static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END }; +static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END }; +static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END }; +static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END }; +static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END }; +static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END }; // Only sPitch7_# are used below // This table is always indexed with (x + 30), where x is some value 0 - 4 static const s16 *const sBardSoundPitchTables[] = { - sPitch1_0, - sPitch1_1, - sPitch1_2, - sPitch1_3, - sPitch1_4, - sPitch2_0, - sPitch2_1, - sPitch2_2, - sPitch2_3, - sPitch2_4, - sPitch3_0, - sPitch3_1, - sPitch3_2, - sPitch3_3, - sPitch3_4, - sPitch4_0, - sPitch4_1, - sPitch4_2, - sPitch4_3, - sPitch4_4, - sPitch5_0, - sPitch5_1, - sPitch5_2, - sPitch5_3, - sPitch5_4, - sPitch6_0, - sPitch6_1, - sPitch6_2, - sPitch6_3, - sPitch6_4, - sPitch7_0, - sPitch7_1, - sPitch7_2, - sPitch7_3, - sPitch7_4 + sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4, + sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4, + sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4, + sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4, + sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4, + sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4, + sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4 }; diff --git a/src/data/battle_frontier/battle_frontier_exchange_corner.h b/src/data/battle_frontier/battle_frontier_exchange_corner.h index 426285e92e..3a1eef76d4 100644 --- a/src/data/battle_frontier/battle_frontier_exchange_corner.h +++ b/src/data/battle_frontier/battle_frontier_exchange_corner.h @@ -10,7 +10,7 @@ static const u16 sFrontierExchangeCorner_Decor1[] = DECOR_CYNDAQUIL_DOLL, DECOR_CHIKORITA_DOLL, DECOR_TOTODILE_DOLL, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_Decor2[] = @@ -20,7 +20,7 @@ static const u16 sFrontierExchangeCorner_Decor2[] = DECOR_VENUSAUR_DOLL, DECOR_CHARIZARD_DOLL, DECOR_BLASTOISE_DOLL, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_Vitamins[] = @@ -31,7 +31,7 @@ static const u16 sFrontierExchangeCorner_Vitamins[] = ITEM_ZINC, ITEM_CARBOS, ITEM_HP_UP, - 0xFFFF + ITEM_LIST_END }; static const u16 sFrontierExchangeCorner_HoldItems[] = @@ -45,7 +45,7 @@ static const u16 sFrontierExchangeCorner_HoldItems[] = ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, - 0xFFFF + ITEM_LIST_END }; static const u8 *const sFrontierExchangeCorner_Decor1Descriptions[] = diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 2a0f884d46..ef4d150396 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -417,7 +417,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DOUBLE_KICK] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 30, .type = TYPE_FIGHTING, .accuracy = 100, @@ -725,7 +725,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TWINEEDLE] = { - .effect = EFFECT_TWINEEDLE, + .effect = EFFECT_POISON_HIT, .power = 25, .type = TYPE_BUG, .accuracy = 100, @@ -1868,7 +1868,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_RECOVER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #elif B_UPDATED_MOVE_DATA >= GEN_4 .pp = 10, #else .pp = 20, @@ -2401,11 +2403,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SOFT_BOILED] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SOFTBOILED, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -2782,7 +2788,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BONEMERANG] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 50, .type = TYPE_GROUND, .accuracy = 90, @@ -2798,11 +2804,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_REST] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_REST, .power = 0, .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -3759,11 +3769,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MILK_DRINK] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SOFTBOILED, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -5452,11 +5466,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SLACK_OFF] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_RESTORE_HP, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -6403,11 +6421,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ROOST] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_ROOST, .power = 0, .type = TYPE_FLYING, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -8224,7 +8246,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DOUBLE_HIT] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 35, .type = TYPE_NORMAL, .accuracy = 90, @@ -8339,7 +8361,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .accuracy = 80, #endif - .effect = EFFECT_SLEEP, + .effect = EFFECT_DARK_VOID, .power = 0, .type = TYPE_DARK, .pp = 10, @@ -9477,7 +9499,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DUAL_CHOP] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 40, .type = TYPE_DRAGON, .accuracy = 90, @@ -9714,7 +9736,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GEAR_GRIND] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 50, .type = TYPE_STEEL, .accuracy = 85, @@ -11013,11 +11035,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SHORE_UP] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SHORE_UP, .power = 0, .type = TYPE_GROUND, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -11387,7 +11413,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .type = TYPE_FIRE, .accuracy = 100, .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, @@ -12181,7 +12207,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_MINIMIZE | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST | FLAG_TWO_STRIKES, #endif - .effect = EFFECT_DOUBLE_IRON_BASH, + .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_STEEL, .accuracy = 100, @@ -12853,8 +12879,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GRASSY_GLIDE] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 60, + #else + .power = 70, + #endif .effect = EFFECT_GRASSY_GLIDE, - .power = 70, .type = TYPE_GRASS, .accuracy = 100, .pp = 20, @@ -13029,7 +13059,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DUAL_WINGBEAT] = { - .effect = EFFECT_DOUBLE_HIT, + .effect = EFFECT_HIT, .power = 40, .type = TYPE_FLYING, .accuracy = 90, @@ -13076,8 +13106,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WICKED_BLOW] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 75, + #else + .power = 80, + #endif .effect = EFFECT_ALWAYS_CRIT, - .power = 80, .type = TYPE_DARK, .accuracy = 100, .pp = 5, @@ -13092,7 +13126,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SURGING_STRIKES] = { - .effect = EFFECT_TRIPLE_HIT, + .effect = EFFECT_ALWAYS_CRIT, .power = 25, .type = TYPE_WATER, .accuracy = 100, @@ -13188,8 +13222,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GLACIAL_LANCE] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 130, + #endif .effect = EFFECT_HIT, - .power = 130, .type = TYPE_ICE, .accuracy = 100, .pp = 5, @@ -13236,15 +13274,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DIRE_CLAW] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 80, + #else + .power = 60, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_DIRE_CLAW, - .power = 60, .type = TYPE_POISON, .accuracy = 100, .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13252,15 +13294,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_PSYSHIELD_BASH] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_PSYSHIELD_BASH, + .effect = EFFECT_DEFENSE_UP_HIT, .power = 70, .type = TYPE_PSYCHIC, - .accuracy = 90, + .accuracy = 100, .pp = 10, - .secondaryEffectChance = 50, // TODO: Adjust this value. Currently it's set to Fiery Dance's. + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13268,7 +13310,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_POWER_SHIFT] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_POWER_SHIFT, + .effect = EFFECT_POWER_TRICK, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, @@ -13292,7 +13334,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13300,15 +13342,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SPRINGTIDE_STORM] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SPRINGTIDE_STORM, - .power = 95, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + #else + .power = 95, + #endif + .effect = EFFECT_ATTACK_DOWN_HIT, .type = TYPE_FAIRY, .accuracy = 80, .pp = 5, .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13316,7 +13362,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MYSTICAL_POWER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_MYSTICAL_POWER, + .effect = EFFECT_SPECIAL_ATTACK_UP_HIT, .power = 70, .type = TYPE_PSYCHIC, .accuracy = 90, @@ -13324,7 +13370,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13332,13 +13378,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_RAGING_FURY] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGING_FURY, - .power = 90, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 90, + #endif + .effect = EFFECT_RAMPAGE, .type = TYPE_FIRE, - .accuracy = 85, + .accuracy = 100, .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_RANDOM, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, @@ -13348,8 +13398,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WAVE_CRASH] = { - .effect = EFFECT_RECOIL_33, // TODO: Legends: Arceus mechanics. - .power = 75, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 75, + #endif + .effect = EFFECT_RECOIL_33, .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -13364,12 +13418,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CHLOROBLAST] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_CHLOROBLAST, - .power = 120, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 150, + #else + .power = 120, + #endif + .effect = EFFECT_RECOIL_50, .type = TYPE_GRASS, .accuracy = 95, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13380,15 +13438,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MOUNTAIN_GALE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_ACTION_SPEED_DOWN_HIT, + .effect = EFFECT_FLINCH_HIT, .power = 100, .type = TYPE_ICE, .accuracy = 85, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -13396,7 +13454,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_VICTORY_DANCE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_VICTORY_DANCE, + .effect = EFFECT_VICTORY_DANCE, .power = 0, .type = TYPE_FIGHTING, .accuracy = 0, @@ -13412,15 +13470,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_HEADLONG_RUSH] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_HEADLONG_RUSH, - .power = 100, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 100, + #endif + .effect = EFFECT_CLOSE_COMBAT, .type = TYPE_GROUND, .accuracy = 100, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -13436,7 +13498,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13444,15 +13506,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ESPER_WING] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, - .power = 75, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 80, + #else + .power = 75, + #endif + .effect = EFFECT_SPEED_UP_HIT, .type = TYPE_PSYCHIC, .accuracy = 90, .pp = 10, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13460,15 +13526,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BITTER_MALICE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, - .power = 60, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 75, + #else + .power = 60, + #endif + .effect = EFFECT_ATTACK_DOWN_HIT, .type = TYPE_GHOST, .accuracy = 100, .pp = 15, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13476,7 +13546,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SHELTER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SHELTER, + .effect = EFFECT_DEFENSE_UP_2, .power = 0, .type = TYPE_STEEL, .accuracy = 0, @@ -13484,7 +13554,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13492,15 +13562,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TRIPLE_ARROWS] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 90, + #else + .power = 50, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_TRIPLE_ARROWS, - .power = 50, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13516,7 +13590,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13532,7 +13606,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13540,15 +13614,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BLEAKWIND_STORM] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_BLEAKWIND_STORM, - .power = 95, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif + .effect = EFFECT_SPEED_DOWN_HIT, .type = TYPE_FLYING, .accuracy = 80, - .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13556,15 +13635,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WILDBOLT_STORM] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_WILDBOLT_STORM, - .power = 95, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif + .effect = EFFECT_PARALYZE_HIT, .type = TYPE_ELECTRIC, .accuracy = 80, - .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13572,15 +13656,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SANDSEAR_STORM] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SANDSEAR_STORM, - .power = 95, + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif + .effect = EFFECT_BURN_HIT, .type = TYPE_GROUND, .accuracy = 80, - .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13618,6 +13707,790 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMoveEffect = Z_EFFECT_NONE, }, + [MOVE_TERA_BLAST] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_TERA_BLAST, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_SILK_TRAP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_PROTECT with extra checks + .power = 0, + .type = TYPE_BUG, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 4, + .flags = FLAG_PROTECTION_MOVE, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_AXE_KICK] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RECOIL_IF_MISS + 30% chance to confuse + .power = 120, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_LAST_RESPECTS] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_LAST_RESPECTS + .power = 50, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_LUMINA_CRASH] = + { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_ORDER_UP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_ORDER_UP + .power = 80, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_JET_PUNCH] = + { + .effect = EFFECT_HIT, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, + // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + }, + + [MOVE_SPICY_EXTRACT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SPICY_EXTRACT + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + }, + + [MOVE_SPIN_OUT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SPIN_OUT + .power = 100, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_POPULATION_BOMB] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MULTI_HIT maybe? + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, + .split = SPLIT_PHYSICAL, + .zMovePower = 40, + .zMoveEffect = Z_EFFECT_NONE, + //Supposedly uncallable by Metronome? (if so, needs implementation) + }, + + [MOVE_ICE_SPINNER] = + { + .effect = EFFECT_DAMAGE_SET_TERRAIN, + .power = 80, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + .argument = 1, //remove terrain + }, + + [MOVE_GLAIVE_RUSH] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_GLAIVE_RUSH + .power = 120, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_REVIVAL_BLESSING] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_REVIVAL_BLESSING + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 1, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_SALT_CURE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SALT_CURE + .power = 40, + .type = TYPE_ROCK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 80, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome, but dubious + }, + + [MOVE_TRIPLE_DIVE] = + { + .effect = EFFECT_TRIPLE_KICK, + .power = 30, + .type = TYPE_WATER, + .accuracy = 95, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_MORTAL_SPIN] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MORTAL_SPIN + .power = 30, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 60, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_DOODLE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_DOODLE + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, // Supposedly unconfirmed? + .priority = 0, + .flags = 0, // TO VERIFY + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome (unimplemented) + }, + + [MOVE_FILLET_AWAY] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_FILLET_AWAY + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, + // Supposedly uncallable by Metronome (unimplemented) + }, + + [MOVE_KOWTOW_CLEAVE] = + { + .effect = EFFECT_HIT, + .power = 85, + .type = TYPE_DARK, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_FLOWER_TRICK] = + { + .effect = EFFECT_ALWAYS_CRIT, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TORCH_SONG] = + { + .effect = EFFECT_SP_ATTACK_UP_HIT, + .power = 80, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_AQUA_STEP] = + { + .effect = EFFECT_SPEED_UP_HIT, + .power = 80, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_RAGING_BULL] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGING_BULL + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // TO VERIFY + .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_MAKE_IT_RAIN] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MAKE_IT_RAIN + .power = 120, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_RUINATION] = + { + .effect = EFFECT_SUPER_FANG, + .power = 1, + .type = TYPE_DARK, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_COLLISION_COURSE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_ELECTRO_DRIFT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .power = 100, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_SHED_TAIL] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SHED_TAIL + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_CHILLY_RECEPTION] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_CHILLY_RECEPTION + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_ALL_BATTLERS, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, + // Supposedly uncallable by Metronome? (to be implemented) + }, + + [MOVE_TIDY_UP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_TIDY_UP + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome? (to be implemented) + }, + + [MOVE_SNOWSCAPE] = + { + .effect = EFFECT_HAIL, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_ALL_BATTLERS, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, + // Currently an exact copy of Hail until we figure out what to do with it + }, + + [MOVE_POUNCE] = + { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 50, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TRAILBLAZE] = + { + .effect = EFFECT_SPEED_UP_HIT, + .power = 50, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_CHILLING_WATER] = + { + .effect = EFFECT_ATTACK_DOWN_HIT, + .power = 50, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_HYPER_DRILL] = + { + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TWIN_BEAM] = + { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_TWO_STRIKES, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_RAGE_FIST] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGE_FIST + .power = 50, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_ARMOR_CANNON] = + { + .effect = EFFECT_CLOSE_COMBAT, + .power = 120, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_BITTER_BLADE] = + { + .effect = EFFECT_ABSORB, + .power = 90, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_DOUBLE_SHOCK] = + { + .effect = EFFECT_DOUBLE_SHOCK, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_GIGATON_HAMMER] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_GIGATON_HAMMER + .power = 160, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_COMEUPPANCE] = + { + .effect = EFFECT_METAL_BURST, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_AQUA_CUTTER] = + { + .effect = EFFECT_HIT, + .power = 70, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, // | FLAG_SLICING_MOVE, + .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_BLAZING_TORQUE] = + { + .effect = EFFECT_BURN_HIT, + .power = 80, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_WICKED_TORQUE] = + { + .effect = EFFECT_SLEEP_HIT, + .power = 80, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_NOXIOUS_TORQUE] = + { + .effect = EFFECT_POISON_HIT, + .power = 100, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_COMBAT_TORQUE] = + { + .effect = EFFECT_PARALYZE_HIT, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_MAGICAL_TORQUE] = + { + .effect = EFFECT_CONFUSE_HIT, + .power = 100, + .type = TYPE_FAIRY, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + // Z-Moves [MOVE_BREAKNECK_BLITZ] = { diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index 244f0ddb2e..2de44b3486 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -5966,6 +5966,102 @@ const struct ContestMove gContestMoves[MOVES_COUNT] = [MOVE_LUNAR_BLESSING] = {0}, // TODO [MOVE_TAKE_HEART] = {0}, // TODO + + [MOVE_TERA_BLAST] = {0}, // TODO + + [MOVE_SILK_TRAP] = {0}, // TODO + + [MOVE_AXE_KICK] = {0}, // TODO + + [MOVE_LAST_RESPECTS] = {0}, // TODO + + [MOVE_LUMINA_CRASH] = {0}, // TODO + + [MOVE_ORDER_UP] = {0}, // TODO + + [MOVE_JET_PUNCH] = {0}, // TODO + + [MOVE_SPICY_EXTRACT] = {0}, // TODO + + [MOVE_SPIN_OUT] = {0}, // TODO + + [MOVE_POPULATION_BOMB] = {0}, // TODO + + [MOVE_ICE_SPINNER] = {0}, // TODO + + [MOVE_GLAIVE_RUSH] = {0}, // TODO + + [MOVE_REVIVAL_BLESSING] = {0}, // TODO + + [MOVE_SALT_CURE] = {0}, // TODO + + [MOVE_TRIPLE_DIVE] = {0}, // TODO + + [MOVE_MORTAL_SPIN] = {0}, // TODO + + [MOVE_DOODLE] = {0}, // TODO + + [MOVE_FILLET_AWAY] = {0}, // TODO + + [MOVE_KOWTOW_CLEAVE] = {0}, // TODO + + [MOVE_FLOWER_TRICK] = {0}, // TODO + + [MOVE_TORCH_SONG] = {0}, // TODO + + [MOVE_AQUA_STEP] = {0}, // TODO + + [MOVE_RAGING_BULL] = {0}, // TODO + + [MOVE_MAKE_IT_RAIN] = {0}, // TODO + + [MOVE_RUINATION] = {0}, // TODO + + [MOVE_COLLISION_COURSE] = {0}, // TODO + + [MOVE_ELECTRO_DRIFT] = {0}, // TODO + + [MOVE_SHED_TAIL] = {0}, // TODO + + [MOVE_CHILLY_RECEPTION] = {0}, // TODO + + [MOVE_TIDY_UP] = {0}, // TODO + + [MOVE_SNOWSCAPE] = {0}, // TODO + + [MOVE_POUNCE] = {0}, // TODO + + [MOVE_TRAILBLAZE] = {0}, // TODO + + [MOVE_CHILLING_WATER] = {0}, // TODO + + [MOVE_HYPER_DRILL] = {0}, // TODO + + [MOVE_TWIN_BEAM] = {0}, // TODO + + [MOVE_RAGE_FIST] = {0}, // TODO + + [MOVE_ARMOR_CANNON] = {0}, // TODO + + [MOVE_BITTER_BLADE] = {0}, // TODO + + [MOVE_DOUBLE_SHOCK] = {0}, // TODO + + [MOVE_GIGATON_HAMMER] = {0}, // TODO + + [MOVE_COMEUPPANCE] = {0}, // TODO + + [MOVE_AQUA_CUTTER] = {0}, // TODO + + [MOVE_BLAZING_TORQUE] = {0}, // TODO + + [MOVE_WICKED_TORQUE] = {0}, // TODO + + [MOVE_NOXIOUS_TORQUE] = {0}, // TODO + + [MOVE_COMBAT_TORQUE] = {0}, // TODO + + [MOVE_MAGICAL_TORQUE] = {0}, // TODO }; const struct ContestEffect gContestEffects[] = diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 3e1789b9a3..0a95b5dbf3 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -1,4 +1,4 @@ -const u32 *const gItemIconTable[][2] = +const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] = { [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // Poké Balls @@ -804,5 +804,5 @@ const u32 *const gItemIconTable[][2] = [ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby}, [ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire}, // Return to field arrow - [ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, + [ITEMS_COUNT] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow}, }; diff --git a/src/data/items.h b/src/data/items.h index b0b53c31f5..513099d18b 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1565,7 +1565,7 @@ const struct Item gItems[] = .description = sLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -1579,7 +1579,7 @@ const struct Item gItems[] = .description = sSuperLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -1593,7 +1593,7 @@ const struct Item gItems[] = .description = sMaxLureDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .fieldUseFunc = ItemUseOutOfBattle_Lure, .secondaryId = 0, .flingPower = 30, }, @@ -2035,8 +2035,8 @@ const struct Item gItems[] = .price = 300, .description = sHoneyDesc, .pocket = POCKET_ITEMS, - .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .type = ITEM_USE_FIELD, + .fieldUseFunc = ItemUseOutOfBattle_Honey, .flingPower = 30, }, diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index ea424090a5..146bb87306 100755 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.h @@ -1,245 +1,4654 @@ -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = {TAG_NONE, OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_QuintyPlump, sPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_NinjaBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Twin, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_LittleGirl, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RichBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ExpertF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PokefanM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_LinkReceptionist, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldMan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_OldWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Standard, sPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Nurse, sPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, NULL, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BerryTree, sPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_CuttableTree, sPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_BreakableRock, sPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = {TAG_NONE, OBJ_EVENT_PAL_TAG_TRUCK, OBJ_EVENT_PAL_TAG_NONE, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_48x48, sAnimTable_Inanimate, sPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = {TAG_NONE, OBJ_EVENT_PAL_TAG_VIGOROTH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_ZIGZAGOON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = {TAG_NONE, OBJ_EVENT_PAL_TAG_POOCHYENA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_AcroBike, sPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Surfing, sPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_FieldMove, sPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = {TAG_NONE, OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = {TAG_NONE, OBJ_EVENT_PAL_TAG_MOVING_BOX, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = {TAG_NONE, OBJ_EVENT_PAL_TAG_CABLE_CAR, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Inanimate, sPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_DevonEmployee, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Fishing, sPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = {TAG_NONE, OBJ_EVENT_PAL_TAG_SSTIDAL, OBJ_EVENT_PAL_TAG_NONE, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_96x40, sAnimTable_Standard, sPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, OBJ_EVENT_PAL_TAG_NONE, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_8x8, sOamTables_88x32, sAnimTable_Standard, sPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_GameboyKid, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_ContestJudge, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_BRENDAN, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreSide, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_GroudonSide, sPicTable_GroudonSide, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Inanimate, sPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_KYOGRE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_KyogreFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = {TAG_NONE, OBJ_EVENT_PAL_TAG_GROUDON, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_GroudonFront, sAffineAnimTable_KyogreGroudon}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_64x64, sOamTables_64x64, sAnimTable_Rayquaza, sPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_2, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x16, sOamTables_16x16, sAnimTable_Standard, sPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_MAY, OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_BrendanMayNormal, sPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Juan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Scott, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Inanimate, sPicTable_Statue, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Kirlia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Dusclops, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Red, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = {TAG_NONE, OBJ_EVENT_PAL_TAG_RED_LEAF, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Leaf, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Mew, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = {TAG_NONE, OBJ_EVENT_PAL_TAG_DEOXYS, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Deoxys, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = {TAG_NONE, OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Inanimate, sPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Anabel, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Tucker, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Greta, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_1, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Spenser, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Noland, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_4, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Lucy, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = {TAG_NONE, OBJ_EVENT_PAL_TAG_NPC_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_Brandon, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_BRENDAN, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = {TAG_NONE, OBJ_EVENT_PAL_TAG_RS_MAY, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, sOamTables_16x32, sAnimTable_Standard, sPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = {TAG_NONE, OBJ_EVENT_PAL_TAG_LUGIA, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Standard, sPicTable_Lugia, gDummySpriteAffineAnimTable}; -const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = {TAG_NONE, OBJ_EVENT_PAL_TAG_HO_OH, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_HoOh, sPicTable_HoOh, gDummySpriteAffineAnimTable}; +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_BrendanAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanSurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_BrendanSurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_BrendanFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_QuintyPlump = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_QUINTY_PLUMP, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_L, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_QuintyPlump, + .images = sPicTable_QuintyPlump, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_NinjaBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_NinjaBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Twin = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Twin, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_LittleBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LittleGirl = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_LittleGirl, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Boy3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Boy3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Girl3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Girl3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RichBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RichBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FatMan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_FatMan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PokefanF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ExpertM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ExpertF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ExpertF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PokefanM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PokefanM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman4 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman4, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cook = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Cook, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkReceptionist = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LinkReceptionist, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldMan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_OldMan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_OldWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_OldWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Camper = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Camper, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Picnicker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Picnicker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man3 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man3, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Woman5 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Woman5, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Youngster = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Youngster, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BugCatcher = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BugCatcher, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PsychicM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_PsychicM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SchoolKidM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SchoolKidM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maniac = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Maniac, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HexManiac = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_HexManiac, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RayquazaStill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Standard, + .images = sPicTable_RayquazaStill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SwimmerM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwimmerF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SwimmerF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BlackBelt = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BlackBelt, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Beauty = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Beauty, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scientist1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lass = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lass, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Gentleman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Gentleman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sailor = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sailor, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fisherman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Fisherman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RunningTriathleteM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RunningTriathleteF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RunningTriathleteF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hiker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Hiker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_CyclingTriathleteM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyclingTriathleteF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_CyclingTriathleteF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Nurse = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Nurse, + .images = sPicTable_Nurse, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ItemBall = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ItemBall, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTree = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = NULL, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeEarlyStages = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BerryTreeLateStages = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BerryTree, + .images = sPicTable_PechaBerryTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ProfBirch = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ProfBirch, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man4 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man4, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Man5 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Man5, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ReporterM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ReporterF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ReporterF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Bard = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Hipster = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Trader = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan1, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Storyteller = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Giddy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan1 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMauvilleOldMan2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MauvilleOldMan2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedNatuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedNatuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedMagnemiteDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedMagnemiteDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedSquirtleDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedSquirtleDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedWooperDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedWooperDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPikachuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedPikachuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnusedPorygon2Doll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_UnusedPorygon2Doll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CuttableTree = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_CuttableTree, + .images = sPicTable_CuttableTree, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MartEmployee = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MartEmployee, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RooftopSaleWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RooftopSaleWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Teala = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Teala, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BreakableRock = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_BreakableRock, + .images = sPicTable_BreakableRock, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PushableBoulder = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PushableBoulder, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MrBrineysBoat = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MrBrineysBoat, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_MayAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MaySurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_MaySurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_MayFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Truck = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_TRUCK, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1152, + .width = 48, + .height = 48, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_48x48, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Truck, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothCarryingBox = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_VIGOROTH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_VigorothCarryingBox, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_VigorothFacingAway = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_VIGOROTH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_VigorothFacingAway, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirchsBag = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BirchsBag, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_EnemyZigzagoon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_ZIGZAGOON, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_EnemyZigzagoon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Poochyena = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_POOCHYENA, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Poochyena, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Artist = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Artist, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_BrendanAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanSurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_BrendanSurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalBrendanFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_BrendanFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayNormal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayMachBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayMachBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayAcroBike = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_BIKE_TIRE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_AcroBike, + .images = sPicTable_MayAcroBike, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMaySurfing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Surfing, + .images = sPicTable_MaySurfing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RivalMayFieldMove = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_FieldMove, + .images = sPicTable_MayFieldMove, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Cameraman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Cameraman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanUnderwater = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanUnderwater, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayUnderwater = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_PLAYER_UNDERWATER, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayUnderwater, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MovingBox = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MOVING_BOX, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MovingBox, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CableCar = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_CABLE_CAR, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Inanimate, + .images = sPicTable_CableCar, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scientist2 = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scientist2, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DevonEmployee = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_DevonEmployee, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_AquaMemberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AquaMemberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_AquaMemberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberM = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MagmaMemberM, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MagmaMemberF = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MagmaMemberF, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sidney = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sidney, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Phoebe = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Phoebe, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Glacia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Glacia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Drake = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Drake, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Roxanne = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Roxanne, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brawly = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Brawly, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wattson = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wattson, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Flannery = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Flannery, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Norman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Norman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Winona = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Winona, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Liza = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Liza, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tate = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Tate, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wallace = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wallace, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Steven = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Steven, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wally = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Wally, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireLittleBoy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireLittleBoy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanFishing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Fishing, + .images = sPicTable_BrendanFishing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayFishing = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Fishing, + .images = sPicTable_MayFishing, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HotSpringsOldWoman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_HotSpringsOldWoman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSTidal = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_SSTIDAL, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1920, + .width = 96, + .height = 40, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_8x8, + .subspriteTables = sOamTables_96x40, + .anims = sAnimTable_Standard, + .images = sPicTable_SSTidal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SubmarineShadow = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_SUBMARINE_SHADOW, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 1408, + .width = 88, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_8x8, + .subspriteTables = sOamTables_88x32, + .anims = sAnimTable_Standard, + .images = sPicTable_SubmarineShadow, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PichuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PichuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikachuDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PikachuDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MarillDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MarillDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TogepiDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TogepiDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_CyndaquilDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_CyndaquilDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ChikoritaDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ChikoritaDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TotodileDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TotodileDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_JigglypuffDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_JigglypuffDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MeowthDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MeowthDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ClefairyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ClefairyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DittoDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DittoDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SmoochumDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SmoochumDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TreeckoDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TreeckoDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TorchicDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_TorchicDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MudkipDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MudkipDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DuskullDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DuskullDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WynautDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_WynautDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BaltoyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BaltoyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_KecleonDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_AzurillDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_AzurillDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SkittyDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SkittyDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SwabluDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SwabluDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GulpinDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_GulpinDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LotadDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_LotadDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SeedotDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SeedotDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_PikaCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_PikaCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RoundCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_RoundCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KissCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_KissCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ZigzagCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_ZigzagCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SpinCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_SpinCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_DiamondCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_DiamondCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BallCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BallCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GrassCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_GrassCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_FireCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_FireCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_WaterCushion = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_WaterCushion, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigSnorlaxDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigSnorlaxDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRhydonDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRhydonDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigLaprasDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigLaprasDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigVenusaurDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigVenusaurDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigCharizardDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigCharizardDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigBlastoiseDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigBlastoiseDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigWailmerDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigWailmerDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegirockDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegirockDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegiceDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegiceDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BigRegisteelDoll = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BigRegisteelDoll, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latias = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LatiasLatios, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Latios = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_LatiasLatios, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GameboyKid = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GameboyKid, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ContestJudge = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_ContestJudge, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanWatering = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_BrendanWatering, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayWatering = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_PLAYER, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MayWatering, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BrendanDecorating = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BrendanDecorating, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MayDecorating = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_MayDecorating, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Archie = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Archie, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Maxie = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Maxie, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreFront = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonFront = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GroudonFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreSide = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreSide, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonSide = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_GroudonSide, + .images = sPicTable_GroudonSide, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Fossil = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_S, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_NONE, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Fossil, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regirock = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Regice = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Registeel = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Regi, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Skitty = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Skitty, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kecleon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Kecleon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KyogreAsleep = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_KYOGRE, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_KyogreFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GroudonAsleep = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_GROUDON, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_GroudonFront, + .affineAnims = sAffineAnimTable_KyogreGroudon, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Rayquaza = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 2048, + .width = 64, + .height = 64, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = TRUE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_64x64, + .subspriteTables = sOamTables_64x64, + .anims = sAnimTable_Rayquaza, + .images = sPicTable_Rayquaza, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Zigzagoon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Zigzagoon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Pikachu = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Pikachu, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azumarill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Azumarill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Wingull = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Wingull, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_KecleonBridgeShadow = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Kecleon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_TuberMSwimming = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_2, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_2, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_TuberMSwimming, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Azurill = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 128, + .width = 16, + .height = 16, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x16, + .subspriteTables = sOamTables_16x16, + .anims = sAnimTable_Standard, + .images = sPicTable_Azurill, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mom = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Mom, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkBrendan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_BrendanNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_LinkMay = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_BRIDGE_REFLECTION, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_BrendanMayNormal, + .images = sPicTable_MayNormal, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Juan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Juan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Scott = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Scott, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_MysteryEventDeliveryman = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_MysteryEventDeliveryman, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Statue = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_Statue, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Kirlia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_S, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Kirlia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Dusclops = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Dusclops, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_UnionRoomAttendant = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_UnionRoomAttendant, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Red = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RED_LEAF, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Red, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Leaf = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RED_LEAF, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Leaf, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Sudowoodo = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Sudowoodo, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Mew = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Mew, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Deoxys = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_DEOXYS, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Deoxys, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_BirthIslandStone = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = TRUE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Inanimate, + .images = sPicTable_BirthIslandStone, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Anabel = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Anabel, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Tucker = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Tucker, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Greta = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Greta, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Spenser = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_1, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_1, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Spenser, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Noland = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Noland, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lucy = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_4, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_4, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lucy, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Brandon = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_NPC_3, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_3, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Brandon, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireBrendan = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RS_BRENDAN, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireBrendan, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RubySapphireMay = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_RS_MAY, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 256, + .width = 16, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_16x32, + .subspriteTables = sOamTables_16x32, + .anims = sAnimTable_Standard, + .images = sPicTable_RubySapphireMay, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Lugia = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_LUGIA, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_Standard, + .images = sPicTable_Lugia, + .affineAnims = gDummySpriteAffineAnimTable, +}; + +const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_HoOh = { + .tileTag = TAG_NONE, + .paletteTag = OBJ_EVENT_PAL_TAG_HO_OH, + .reflectionPaletteTag = OBJ_EVENT_PAL_TAG_NONE, + .size = 512, + .width = 32, + .height = 32, + .paletteSlot = PALSLOT_NPC_SPECIAL, + .shadowSize = SHADOW_SIZE_M, + .inanimate = FALSE, + .disableReflectionPaletteLoad = FALSE, + .tracks = TRACKS_FOOT, + .oam = &gObjectEventBaseOam_32x32, + .subspriteTables = sOamTables_32x32, + .anims = sAnimTable_HoOh, + .images = sPicTable_HoOh, + .affineAnims = gDummySpriteAffineAnimTable, +}; diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index b501d9aae6..f4ad3b5669 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -39,7 +39,7 @@ static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { }; static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -96,7 +96,7 @@ static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = { }; static const struct LevelUpMove sCharizardLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), @@ -189,13 +189,13 @@ static const struct LevelUpMove sCaterpieLevelUpLearnset[] = { }; static const struct LevelUpMove sMetapodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(11, MOVE_CONFUSION), @@ -224,13 +224,13 @@ static const struct LevelUpMove sWeedleLevelUpLearnset[] = { }; static const struct LevelUpMove sKakunaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), @@ -326,7 +326,7 @@ static const struct LevelUpMove sRattataLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -406,7 +406,7 @@ static const struct LevelUpMove sEkansLevelUpLearnset[] = { }; static const struct LevelUpMove sArbokLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -485,7 +485,7 @@ static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), @@ -857,7 +857,7 @@ static const struct LevelUpMove sVenonatLevelUpLearnset[] = { }; static const struct LevelUpMove sVenomothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), @@ -901,7 +901,7 @@ static const struct LevelUpMove sDiglettLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -944,7 +944,7 @@ static const struct LevelUpMove sMeowthLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), @@ -1036,7 +1036,7 @@ static const struct LevelUpMove sMankeyLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimeapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAGE), + LEVEL_UP_MOVE( 0, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), LEVEL_UP_MOVE( 1, MOVE_FLING), @@ -1130,7 +1130,7 @@ static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { }; static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), @@ -1148,7 +1148,7 @@ static const struct LevelUpMove sAbraLevelUpLearnset[] = { }; static const struct LevelUpMove sKadabraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1169,7 +1169,7 @@ static const struct LevelUpMove sKadabraLevelUpLearnset[] = { }; static const struct LevelUpMove sAlakazamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_KINESIS), + LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -1234,7 +1234,7 @@ static const struct LevelUpMove sMachokeLevelUpLearnset[] = { }; static const struct LevelUpMove sMachampLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STRENGTH), + LEVEL_UP_MOVE( 0, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_STRENGTH), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), @@ -1298,7 +1298,7 @@ static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { }; static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), @@ -1444,7 +1444,7 @@ static const struct LevelUpMove sPonytaLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -1488,7 +1488,7 @@ static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), LEVEL_UP_MOVE( 1, MOVE_CURSE), @@ -1534,7 +1534,7 @@ static const struct LevelUpMove sMagnemiteLevelUpLearnset[] = { }; static const struct LevelUpMove sMagnetonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), @@ -1605,7 +1605,7 @@ static const struct LevelUpMove sDoduoLevelUpLearnset[] = { }; static const struct LevelUpMove sDodrioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1650,7 +1650,7 @@ static const struct LevelUpMove sSeelLevelUpLearnset[] = { }; static const struct LevelUpMove sDewgongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -1696,7 +1696,7 @@ static const struct LevelUpMove sGrimerLevelUpLearnset[] = { }; static const struct LevelUpMove sMukLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -1774,7 +1774,7 @@ static const struct LevelUpMove sGastlyLevelUpLearnset[] = { }; static const struct LevelUpMove sHaunterLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1796,7 +1796,7 @@ static const struct LevelUpMove sHaunterLevelUpLearnset[] = { }; static const struct LevelUpMove sGengarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), @@ -1997,7 +1997,7 @@ static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOMP), + LEVEL_UP_MOVE( 0, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -2054,7 +2054,7 @@ static const struct LevelUpMove sMarowakLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -2082,7 +2082,7 @@ static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_COUNTER), @@ -2149,7 +2149,7 @@ static const struct LevelUpMove sKoffingLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2191,7 +2191,7 @@ static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { }; static const struct LevelUpMove sRhydonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), @@ -2547,7 +2547,7 @@ static const struct LevelUpMove sMagikarpLevelUpLearnset[] = { }; static const struct LevelUpMove sGyaradosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE(21, MOVE_LEER), @@ -2611,7 +2611,7 @@ static const struct LevelUpMove sEeveeLevelUpLearnset[] = { }; static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2631,7 +2631,7 @@ static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { }; static const struct LevelUpMove sJolteonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2651,7 +2651,7 @@ static const struct LevelUpMove sJolteonLevelUpLearnset[] = { }; static const struct LevelUpMove sFlareonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -2708,7 +2708,7 @@ static const struct LevelUpMove sOmanyteLevelUpLearnset[] = { }; static const struct LevelUpMove sOmastarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_SPIKE_CANNON), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), @@ -2746,7 +2746,7 @@ static const struct LevelUpMove sKabutoLevelUpLearnset[] = { }; static const struct LevelUpMove sKabutopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -2910,7 +2910,7 @@ static const struct LevelUpMove sDragonairLevelUpLearnset[] = { }; static const struct LevelUpMove sDragoniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -3016,7 +3016,7 @@ static const struct LevelUpMove sBayleefLevelUpLearnset[] = { }; static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3188,7 +3188,7 @@ static const struct LevelUpMove sSentretLevelUpLearnset[] = { }; static const struct LevelUpMove sFurretLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AGILITY), + LEVEL_UP_MOVE( 0, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_AGILITY), LEVEL_UP_MOVE( 1, MOVE_COIL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -3318,7 +3318,7 @@ static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { }; static const struct LevelUpMove sAriadosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), @@ -3347,7 +3347,7 @@ static const struct LevelUpMove sAriadosLevelUpLearnset[] = { }; static const struct LevelUpMove sCrobatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -3392,9 +3392,9 @@ static const struct LevelUpMove sChinchouLevelUpLearnset[] = { }; static const struct LevelUpMove sLanturnLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), - //LEVEL_UP_MOVE( 0, MOVE_SWALLOW), - //LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 0, MOVE_SWALLOW), + LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), LEVEL_UP_MOVE( 1, MOVE_SWALLOW), LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), @@ -3515,7 +3515,7 @@ static const struct LevelUpMove sNatuLevelUpLearnset[] = { }; static const struct LevelUpMove sXatuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_TAILWIND), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -3580,7 +3580,7 @@ static const struct LevelUpMove sFlaaffyLevelUpLearnset[] = { }; static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), @@ -3609,7 +3609,7 @@ static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { }; static const struct LevelUpMove sBellossomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), @@ -3667,7 +3667,7 @@ static const struct LevelUpMove sAzumarillLevelUpLearnset[] = { }; static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLAM), + LEVEL_UP_MOVE( 0, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_SLAM), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_COPYCAT), @@ -3896,7 +3896,7 @@ static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { }; static const struct LevelUpMove sEspeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -3916,7 +3916,7 @@ static const struct LevelUpMove sEspeonLevelUpLearnset[] = { }; static const struct LevelUpMove sUmbreonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PURSUIT), + LEVEL_UP_MOVE( 0, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_PURSUIT), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -4048,8 +4048,8 @@ static const struct LevelUpMove sPinecoLevelUpLearnset[] = { }; static const struct LevelUpMove sForretressLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), - //LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_MIRROR_SHOT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), @@ -4369,7 +4369,7 @@ static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { }; static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE( 1, MOVE_YAWN), @@ -4413,7 +4413,7 @@ static const struct LevelUpMove sSwinubLevelUpLearnset[] = { }; static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -4476,7 +4476,7 @@ static const struct LevelUpMove sRemoraidLevelUpLearnset[] = { }; static const struct LevelUpMove sOctilleryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), @@ -4634,7 +4634,7 @@ static const struct LevelUpMove sPhanpyLevelUpLearnset[] = { }; static const struct LevelUpMove sDonphanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -4719,7 +4719,7 @@ static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { }; static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -5166,7 +5166,7 @@ static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { }; static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -5189,7 +5189,7 @@ static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { }; static const struct LevelUpMove sSceptileLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -5231,7 +5231,7 @@ static const struct LevelUpMove sTorchicLevelUpLearnset[] = { }; static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5252,7 +5252,7 @@ static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { }; static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_BLAZE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -5294,7 +5294,7 @@ static const struct LevelUpMove sMudkipLevelUpLearnset[] = { }; static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -5357,7 +5357,7 @@ static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { }; static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 0, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_SNARL), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), @@ -5439,13 +5439,13 @@ static const struct LevelUpMove sWurmpleLevelUpLearnset[] = { }; static const struct LevelUpMove sSilcoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_ABSORB), LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), @@ -5463,13 +5463,13 @@ static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { }; static const struct LevelUpMove sCascoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sDustoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE(12, MOVE_CONFUSION), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), @@ -5540,7 +5540,7 @@ static const struct LevelUpMove sSeedotLevelUpLearnset[] = { }; static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), @@ -5583,9 +5583,9 @@ static const struct LevelUpMove sNincadaLevelUpLearnset[] = { }; static const struct LevelUpMove sNinjaskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), - //LEVEL_UP_MOVE( 0, MOVE_SCREECH), - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 0, MOVE_SCREECH), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), @@ -5682,7 +5682,7 @@ static const struct LevelUpMove sShroomishLevelUpLearnset[] = { }; static const struct LevelUpMove sBreloomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -5738,7 +5738,7 @@ static const struct LevelUpMove sWingullLevelUpLearnset[] = { }; static const struct LevelUpMove sPelipperLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), @@ -5927,7 +5927,7 @@ static const struct LevelUpMove sBaltoyLevelUpLearnset[] = { }; static const struct LevelUpMove sClaydolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPER_BEAM), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6038,7 +6038,7 @@ static const struct LevelUpMove sBarboachLevelUpLearnset[] = { }; static const struct LevelUpMove sWhiscashLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), @@ -6105,7 +6105,7 @@ static const struct LevelUpMove sCorphishLevelUpLearnset[] = { }; static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -6136,7 +6136,7 @@ static const struct LevelUpMove sFeebasLevelUpLearnset[] = { }; static const struct LevelUpMove sMiloticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -6178,7 +6178,7 @@ static const struct LevelUpMove sCarvanhaLevelUpLearnset[] = { }; static const struct LevelUpMove sSharpedoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -6225,7 +6225,7 @@ static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { }; static const struct LevelUpMove sVibravaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), @@ -6248,7 +6248,7 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = { }; static const struct LevelUpMove sFlygonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), @@ -6378,7 +6378,7 @@ static const struct LevelUpMove sNumelLevelUpLearnset[] = { }; static const struct LevelUpMove sCameruptLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_FISSURE), LEVEL_UP_MOVE( 1, MOVE_ERUPTION), @@ -6422,7 +6422,7 @@ static const struct LevelUpMove sSphealLevelUpLearnset[] = { }; static const struct LevelUpMove sSealeoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6443,7 +6443,7 @@ static const struct LevelUpMove sSealeoLevelUpLearnset[] = { }; static const struct LevelUpMove sWalreinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -6487,7 +6487,7 @@ static const struct LevelUpMove sCacneaLevelUpLearnset[] = { }; static const struct LevelUpMove sCacturneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_REVENGE), @@ -6531,7 +6531,7 @@ static const struct LevelUpMove sSnoruntLevelUpLearnset[] = { }; static const struct LevelUpMove sGlalieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -6631,7 +6631,7 @@ static const struct LevelUpMove sSpoinkLevelUpLearnset[] = { }; static const struct LevelUpMove sGrumpigLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_SPLASH), @@ -6800,7 +6800,7 @@ static const struct LevelUpMove sSwabluLevelUpLearnset[] = { }; static const struct LevelUpMove sAltariaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PLUCK), @@ -6858,7 +6858,7 @@ static const struct LevelUpMove sDuskullLevelUpLearnset[] = { }; static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), @@ -6941,7 +6941,7 @@ static const struct LevelUpMove sVigorothLevelUpLearnset[] = { }; static const struct LevelUpMove sSlakingLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), @@ -6985,7 +6985,7 @@ static const struct LevelUpMove sGulpinLevelUpLearnset[] = { }; static const struct LevelUpMove sSwalotLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), @@ -7051,7 +7051,7 @@ static const struct LevelUpMove sWhismurLevelUpLearnset[] = { }; static const struct LevelUpMove sLoudredLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 0, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), @@ -7073,7 +7073,7 @@ static const struct LevelUpMove sLoudredLevelUpLearnset[] = { }; static const struct LevelUpMove sExploudLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_BOOMBURST), @@ -7583,7 +7583,7 @@ static const struct LevelUpMove sBagonLevelUpLearnset[] = { }; static const struct LevelUpMove sShelgonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_EMBER), @@ -7605,7 +7605,7 @@ static const struct LevelUpMove sShelgonLevelUpLearnset[] = { }; static const struct LevelUpMove sSalamenceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLY), + LEVEL_UP_MOVE( 0, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_FLY), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), @@ -7636,8 +7636,8 @@ static const struct LevelUpMove sBeldumLevelUpLearnset[] = { }; static const struct LevelUpMove sMetangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -7656,7 +7656,7 @@ static const struct LevelUpMove sMetangLevelUpLearnset[] = { }; static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), @@ -7939,7 +7939,7 @@ static const struct LevelUpMove sGrotleLevelUpLearnset[] = { }; static const struct LevelUpMove sTorterraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -7978,7 +7978,7 @@ static const struct LevelUpMove sChimcharLevelUpLearnset[] = { }; static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -7998,7 +7998,7 @@ static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { }; static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), @@ -8037,7 +8037,7 @@ static const struct LevelUpMove sPiplupLevelUpLearnset[] = { }; static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8058,7 +8058,7 @@ static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { }; static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8113,7 +8113,7 @@ static const struct LevelUpMove sStaraviaLevelUpLearnset[] = { }; static const struct LevelUpMove sStaraptorLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -8151,7 +8151,7 @@ static const struct LevelUpMove sBidoofLevelUpLearnset[] = { }; static const struct LevelUpMove sBibarelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), @@ -8181,7 +8181,7 @@ static const struct LevelUpMove sKricketotLevelUpLearnset[] = { }; static const struct LevelUpMove sKricketuneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BIDE), @@ -8292,7 +8292,7 @@ static const struct LevelUpMove sCranidosLevelUpLearnset[] = { }; static const struct LevelUpMove sRampardosLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -8328,7 +8328,7 @@ static const struct LevelUpMove sShieldonLevelUpLearnset[] = { }; static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8356,7 +8356,7 @@ static const struct LevelUpMove sBurmyLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8379,7 +8379,7 @@ static const struct LevelUpMove sWormadamLevelUpLearnset[] = { }; static const struct LevelUpMove sMothimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -8409,7 +8409,7 @@ static const struct LevelUpMove sCombeeLevelUpLearnset[] = { }; static const struct LevelUpMove sVespiquenLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), @@ -8510,7 +8510,7 @@ static const struct LevelUpMove sCherubiLevelUpLearnset[] = { }; static const struct LevelUpMove sCherrimLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -8645,7 +8645,7 @@ static const struct LevelUpMove sBunearyLevelUpLearnset[] = { }; static const struct LevelUpMove sLopunnyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RETURN), + LEVEL_UP_MOVE( 0, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_RETURN), LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), LEVEL_UP_MOVE( 1, MOVE_BOUNCE), @@ -8720,7 +8720,7 @@ static const struct LevelUpMove sGlameowLevelUpLearnset[] = { }; static const struct LevelUpMove sPuruglyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_SWAGGER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -8774,7 +8774,7 @@ static const struct LevelUpMove sStunkyLevelUpLearnset[] = { }; static const struct LevelUpMove sSkuntankLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), @@ -8819,7 +8819,7 @@ static const struct LevelUpMove sBronzorLevelUpLearnset[] = { }; static const struct LevelUpMove sBronzongLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 0, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_BLOCK), LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), @@ -8949,7 +8949,7 @@ static const struct LevelUpMove sGibleLevelUpLearnset[] = { }; static const struct LevelUpMove sGabiteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -8967,7 +8967,7 @@ static const struct LevelUpMove sGabiteLevelUpLearnset[] = { }; static const struct LevelUpMove sGarchompLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), @@ -9027,7 +9027,7 @@ static const struct LevelUpMove sRioluLevelUpLearnset[] = { }; static const struct LevelUpMove sLucarioLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), @@ -9496,7 +9496,7 @@ static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { }; static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9516,7 +9516,7 @@ static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { }; static const struct LevelUpMove sGlaceonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -9610,7 +9610,7 @@ static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { }; static const struct LevelUpMove sGalladeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), @@ -9640,7 +9640,7 @@ static const struct LevelUpMove sGalladeLevelUpLearnset[] = { }; static const struct LevelUpMove sProbopassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), @@ -9697,7 +9697,7 @@ static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { }; static const struct LevelUpMove sFroslassLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), + LEVEL_UP_MOVE( 0, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -10098,7 +10098,7 @@ static const struct LevelUpMove sTepigLevelUpLearnset[] = { }; static const struct LevelUpMove sPigniteLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -10187,7 +10187,7 @@ static const struct LevelUpMove sDewottLevelUpLearnset[] = { }; static const struct LevelUpMove sSamurottLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10233,7 +10233,7 @@ static const struct LevelUpMove sPatratLevelUpLearnset[] = { }; static const struct LevelUpMove sWatchogLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10600,7 +10600,7 @@ static const struct LevelUpMove sRoggenrolaLevelUpLearnset[] = { }; static const struct LevelUpMove sBoldoreLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -10701,7 +10701,7 @@ static const struct LevelUpMove sDrilburLevelUpLearnset[] = { }; static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), @@ -10852,7 +10852,7 @@ static const struct LevelUpMove sPalpitoadLevelUpLearnset[] = { }; static const struct LevelUpMove sSeismitoadLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACID), + LEVEL_UP_MOVE( 0, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -10927,7 +10927,7 @@ static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { }; static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_GRASS_WHISTLE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10938,7 +10938,7 @@ static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { }; static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 0, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_SLASH), LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -10978,7 +10978,7 @@ static const struct LevelUpMove sVenipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11001,7 +11001,7 @@ static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { }; static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 0, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), @@ -11202,7 +11202,7 @@ static const struct LevelUpMove sDarumakaLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), @@ -11376,7 +11376,7 @@ static const struct LevelUpMove sYamaskLevelUpLearnset[] = { }; static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_PROTECT), @@ -11553,7 +11553,7 @@ static const struct LevelUpMove sZoruaLevelUpLearnset[] = { }; static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_DAZE), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -11721,7 +11721,7 @@ static const struct LevelUpMove sDuosionLevelUpLearnset[] = { }; static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_DIZZY_PUNCH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_REFLECT), @@ -11872,7 +11872,7 @@ static const struct LevelUpMove sDeerlingLevelUpLearnset[] = { }; static const struct LevelUpMove sSawsbuckLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), + LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12088,7 +12088,7 @@ static const struct LevelUpMove sJoltikLevelUpLearnset[] = { }; static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), + LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), LEVEL_UP_MOVE( 1, MOVE_ABSORB), @@ -12130,7 +12130,7 @@ static const struct LevelUpMove sFerroseedLevelUpLearnset[] = { }; static const struct LevelUpMove sFerrothornLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), LEVEL_UP_MOVE( 1, MOVE_ROCK_CLIMB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -12195,7 +12195,7 @@ static const struct LevelUpMove sKlangLevelUpLearnset[] = { }; static const struct LevelUpMove sKlinklangLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 0, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_GEAR_UP), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), @@ -12228,7 +12228,7 @@ static const struct LevelUpMove sTynamoLevelUpLearnset[] = { }; static const struct LevelUpMove sEelektrikLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), @@ -12452,7 +12452,7 @@ static const struct LevelUpMove sCubchooLevelUpLearnset[] = { }; static const struct LevelUpMove sBearticLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_THRASH), @@ -12659,7 +12659,7 @@ static const struct LevelUpMove sGolettLevelUpLearnset[] = { }; static const struct LevelUpMove sGolurkLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -12768,7 +12768,7 @@ static const struct LevelUpMove sRuffletLevelUpLearnset[] = { }; static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12815,7 +12815,7 @@ static const struct LevelUpMove sVullabyLevelUpLearnset[] = { }; static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), + LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_BONE_RUSH), LEVEL_UP_MOVE( 1, MOVE_MIRROR_MOVE), LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), @@ -12969,7 +12969,7 @@ static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { }; static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_FIERY_DANCE), LEVEL_UP_MOVE( 1, MOVE_HURRICANE), @@ -13274,7 +13274,7 @@ static const struct LevelUpMove sChespinLevelUpLearnset[] = { }; static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE( 0, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), @@ -13294,7 +13294,7 @@ static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { }; static const struct LevelUpMove sChesnaughtLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), LEVEL_UP_MOVE( 1, MOVE_NEEDLE_ARM), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), @@ -13363,7 +13363,7 @@ static const struct LevelUpMove sBraixenLevelUpLearnset[] = { }; static const struct LevelUpMove sDelphoxLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), @@ -13429,7 +13429,7 @@ static const struct LevelUpMove sFrogadierLevelUpLearnset[] = { }; static const struct LevelUpMove sGreninjaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), + LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_WATER_SHURIKEN), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_HAZE), @@ -13520,7 +13520,7 @@ static const struct LevelUpMove sFletchlingLevelUpLearnset[] = { }; static const struct LevelUpMove sFletchinderLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 0, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -13573,14 +13573,14 @@ static const struct LevelUpMove sScatterbugLevelUpLearnset[] = { }; static const struct LevelUpMove sSpewpaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 0, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_END }; static const struct LevelUpMove sVivillonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 0, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_POWDER), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), @@ -13715,7 +13715,7 @@ static const struct LevelUpMove sSkiddoLevelUpLearnset[] = { }; static const struct LevelUpMove sGogoatLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -13758,7 +13758,7 @@ static const struct LevelUpMove sPanchamLevelUpLearnset[] = { }; static const struct LevelUpMove sPangoroLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), @@ -14099,7 +14099,7 @@ static const struct LevelUpMove sSkrelpLevelUpLearnset[] = { }; static const struct LevelUpMove sDragalgeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TWISTER), + LEVEL_UP_MOVE( 0, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14141,7 +14141,7 @@ static const struct LevelUpMove sClauncherLevelUpLearnset[] = { }; static const struct LevelUpMove sClawitzerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), LEVEL_UP_MOVE( 1, MOVE_DARK_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), @@ -14212,7 +14212,7 @@ static const struct LevelUpMove sTyruntLevelUpLearnset[] = { }; static const struct LevelUpMove sTyrantrumLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_HEAD_SMASH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -14260,7 +14260,7 @@ static const struct LevelUpMove sAmauraLevelUpLearnset[] = { }; static const struct LevelUpMove sAurorusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), @@ -14286,7 +14286,7 @@ static const struct LevelUpMove sAurorusLevelUpLearnset[] = { }; static const struct LevelUpMove sSylveonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), @@ -14399,7 +14399,7 @@ static const struct LevelUpMove sSliggooLevelUpLearnset[] = { }; static const struct LevelUpMove sGoodraLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_AQUA_TAIL), LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), LEVEL_UP_MOVE( 1, MOVE_FEINT), @@ -14460,7 +14460,7 @@ static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { }; static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -14546,7 +14546,7 @@ static const struct LevelUpMove sBergmiteLevelUpLearnset[] = { }; static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -14795,7 +14795,7 @@ static const struct LevelUpMove sDartrixLevelUpLearnset[] = { }; static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_SHACKLE), LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), @@ -14865,7 +14865,7 @@ static const struct LevelUpMove sTorracatLevelUpLearnset[] = { }; static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), + LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_DARKEST_LARIAT), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), @@ -14934,7 +14934,7 @@ static const struct LevelUpMove sBrionneLevelUpLearnset[] = { }; static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), + LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_SPARKLING_ARIA), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), @@ -14996,7 +14996,7 @@ static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { }; static const struct LevelUpMove sToucannonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), + LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_BEAK_BLAST), LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15076,7 +15076,7 @@ static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { }; static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), @@ -15097,7 +15097,7 @@ static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { }; static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), LEVEL_UP_MOVE( 1, MOVE_CHARGE), @@ -15137,7 +15137,7 @@ static const struct LevelUpMove sCrabrawlerLevelUpLearnset[] = { }; static const struct LevelUpMove sCrabominableLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -15194,7 +15194,7 @@ static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { }; static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), + LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_POLLEN_PUFF), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), @@ -15233,7 +15233,7 @@ static const struct LevelUpMove sRockruffLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), + LEVEL_UP_MOVE( 0, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -15294,7 +15294,7 @@ static const struct LevelUpMove sMareanieLevelUpLearnset[] = { }; static const struct LevelUpMove sToxapexLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), + LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_BANEFUL_BUNKER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -15410,7 +15410,7 @@ static const struct LevelUpMove sFomantisLevelUpLearnset[] = { }; static const struct LevelUpMove sLurantisLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -15489,7 +15489,7 @@ static const struct LevelUpMove sSalanditLevelUpLearnset[] = { }; static const struct LevelUpMove sSalazzleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), + LEVEL_UP_MOVE( 0, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_CAPTIVATE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -15532,7 +15532,7 @@ static const struct LevelUpMove sStuffulLevelUpLearnset[] = { }; static const struct LevelUpMove sBewearLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BIND), + LEVEL_UP_MOVE( 0, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), @@ -15564,7 +15564,7 @@ static const struct LevelUpMove sBounsweetLevelUpLearnset[] = { }; static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -15585,7 +15585,7 @@ static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { }; static const struct LevelUpMove sTsareenaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), + LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_TROP_KICK), LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), @@ -15677,7 +15677,7 @@ static const struct LevelUpMove sWimpodLevelUpLearnset[] = { }; static const struct LevelUpMove sGolisopodLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), @@ -15779,7 +15779,7 @@ static const struct LevelUpMove sTypeNullLevelUpLearnset[] = { }; static const struct LevelUpMove sSilvallyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_MULTI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_HEAL_BLOCK), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), @@ -15979,7 +15979,7 @@ static const struct LevelUpMove sJangmooLevelUpLearnset[] = { }; static const struct LevelUpMove sHakamooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE( 0, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16004,7 +16004,7 @@ static const struct LevelUpMove sHakamooLevelUpLearnset[] = { }; static const struct LevelUpMove sKommooLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), + LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_CLANGING_SCALES), LEVEL_UP_MOVE( 1, MOVE_SKY_UPPERCUT), LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), @@ -16125,14 +16125,14 @@ static const struct LevelUpMove sCosmogLevelUpLearnset[] = { }; static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), + LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_SUNSTEEL_STRIKE), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_WAKE_UP_SLAP), @@ -16154,7 +16154,7 @@ static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { }; static const struct LevelUpMove sLunalaLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), + LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_MOONGEIST_BEAM), LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), @@ -16426,7 +16426,7 @@ static const struct LevelUpMove sPoipoleLevelUpLearnset[] = { }; static const struct LevelUpMove sNaganadelLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -16511,7 +16511,7 @@ static const struct LevelUpMove sMeltanLevelUpLearnset[] = { }; static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HARDEN), @@ -16548,7 +16548,7 @@ static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { }; static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -16565,7 +16565,7 @@ static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { }; static const struct LevelUpMove sRillaboomLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), + LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DRUM_BEATING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), @@ -16616,7 +16616,7 @@ static const struct LevelUpMove sRabootLevelUpLearnset[] = { }; static const struct LevelUpMove sCinderaceLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), + LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_PYRO_BALL), LEVEL_UP_MOVE( 1, MOVE_FEINT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -16665,7 +16665,7 @@ static const struct LevelUpMove sDrizzileLevelUpLearnset[] = { }; static const struct LevelUpMove sInteleonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), + LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_SNIPE_SHOT), LEVEL_UP_MOVE( 1, MOVE_ACROBATICS), LEVEL_UP_MOVE( 1, MOVE_POUND), @@ -16701,7 +16701,7 @@ static const struct LevelUpMove sSkwovetLevelUpLearnset[] = { }; static const struct LevelUpMove sGreedentLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COVET), + LEVEL_UP_MOVE( 0, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16750,7 +16750,7 @@ static const struct LevelUpMove sCorvisquireLevelUpLearnset[] = { }; static const struct LevelUpMove sCorviknightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), + LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_STEEL_WING), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), @@ -16774,9 +16774,9 @@ static const struct LevelUpMove sBlipbugLevelUpLearnset[] = { }; static const struct LevelUpMove sDottlerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_REFLECT), - //LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), - //LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_REFLECT), + LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_REFLECT), LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -16820,7 +16820,7 @@ static const struct LevelUpMove sNickitLevelUpLearnset[] = { }; static const struct LevelUpMove sThievulLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THIEF), + LEVEL_UP_MOVE( 0, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), @@ -16853,7 +16853,7 @@ static const struct LevelUpMove sGossifleurLevelUpLearnset[] = { }; static const struct LevelUpMove sEldegossLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), LEVEL_UP_MOVE( 1, MOVE_SING), @@ -16917,7 +16917,7 @@ static const struct LevelUpMove sChewtleLevelUpLearnset[] = { }; static const struct LevelUpMove sDrednawLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROCK_TOMB), LEVEL_UP_MOVE( 1, MOVE_RAZOR_SHELL), LEVEL_UP_MOVE( 1, MOVE_CRUNCH), @@ -16982,7 +16982,7 @@ static const struct LevelUpMove sRolycolyLevelUpLearnset[] = { }; static const struct LevelUpMove sCarkolLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), @@ -16999,7 +16999,7 @@ static const struct LevelUpMove sCarkolLevelUpLearnset[] = { }; static const struct LevelUpMove sCoalossalLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), + LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_TAR_SHOT), LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -17023,7 +17023,7 @@ static const struct LevelUpMove sApplinLevelUpLearnset[] = { }; static const struct LevelUpMove sFlappleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17045,7 +17045,7 @@ static const struct LevelUpMove sFlappleLevelUpLearnset[] = { }; static const struct LevelUpMove sAppletunLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_RECYCLE), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), @@ -17156,7 +17156,7 @@ static const struct LevelUpMove sToxelLevelUpLearnset[] = { }; static const struct LevelUpMove sToxtricityLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -17236,7 +17236,7 @@ static const struct LevelUpMove sClobbopusLevelUpLearnset[] = { }; static const struct LevelUpMove sGrapploctLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), + LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTOLOCK), LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -17271,7 +17271,7 @@ static const struct LevelUpMove sSinisteaLevelUpLearnset[] = { }; static const struct LevelUpMove sPolteageistLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_TEATIME), + LEVEL_UP_MOVE( 0, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_TEATIME), LEVEL_UP_MOVE( 1, MOVE_STRENGTH_SAP), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17306,7 +17306,7 @@ static const struct LevelUpMove sHatennaLevelUpLearnset[] = { }; static const struct LevelUpMove sHattremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), @@ -17323,7 +17323,7 @@ static const struct LevelUpMove sHattremLevelUpLearnset[] = { }; static const struct LevelUpMove sHattereneLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), @@ -17359,7 +17359,7 @@ static const struct LevelUpMove sImpidimpLevelUpLearnset[] = { }; static const struct LevelUpMove sMorgremLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), + LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), LEVEL_UP_MOVE( 1, MOVE_CONFIDE), @@ -17378,7 +17378,7 @@ static const struct LevelUpMove sMorgremLevelUpLearnset[] = { }; static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_SPIRIT_BREAK), LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), LEVEL_UP_MOVE( 1, MOVE_BULK_UP), @@ -17401,7 +17401,7 @@ static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { }; static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), + LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_OBSTRUCT), LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), @@ -17427,7 +17427,7 @@ static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { }; static const struct LevelUpMove sPerrserkerLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), @@ -17466,7 +17466,7 @@ static const struct LevelUpMove sCursolaLevelUpLearnset[] = { }; static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), LEVEL_UP_MOVE( 1, MOVE_PECK), @@ -17523,7 +17523,7 @@ static const struct LevelUpMove sMrRimeLevelUpLearnset[] = { }; static const struct LevelUpMove sRunerigusLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), @@ -17562,7 +17562,7 @@ static const struct LevelUpMove sMilceryLevelUpLearnset[] = { }; static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DECORATE), + LEVEL_UP_MOVE( 0, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_DECORATE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), @@ -17622,7 +17622,7 @@ static const struct LevelUpMove sSnomLevelUpLearnset[] = { }; static const struct LevelUpMove sFrosmothLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), @@ -17730,7 +17730,7 @@ static const struct LevelUpMove sCufantLevelUpLearnset[] = { }; static const struct LevelUpMove sCopperajahLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), @@ -17842,7 +17842,7 @@ static const struct LevelUpMove sDreepyLevelUpLearnset[] = { }; static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_INFESTATION), @@ -17864,7 +17864,7 @@ static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { }; static const struct LevelUpMove sDragapultLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_DARTS), LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -17962,7 +17962,7 @@ static const struct LevelUpMove sKubfuLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), + LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_WICKED_BLOW), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), @@ -18102,9 +18102,9 @@ static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_HYPNOSIS), LEVEL_UP_MOVE(15, MOVE_CALM_MIND), - //LEVEL_UP_MOVE(21, MOVE_PSYSHIELD_BASH), + LEVEL_UP_MOVE(21, MOVE_PSYSHIELD_BASH), LEVEL_UP_MOVE(29, MOVE_EXTRASENSORY), - //LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18114,36 +18114,36 @@ static const struct LevelUpMove sKleavorLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_SILVER_WIND), LEVEL_UP_MOVE(11, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(14, MOVE_DOUBLE_HIT), - //LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), - //LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(14, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(29, MOVE_STONE_AXE), - //LEVEL_UP_MOVE(34, MOVE_X_SCISSOR), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(29, MOVE_STONE_AXE), + LEVEL_UP_MOVE(34, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_BABY_DOLL_EYES), - //LEVEL_UP_MOVE(11, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 6, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(11, MOVE_BULLDOZE), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), - //LEVEL_UP_MOVE(34, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(34, MOVE_HIGH_HORSEPOWER), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), + LEVEL_UP_MOVE(47, MOVE_HEADLONG_RUSH), LEVEL_UP_END }; static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), LEVEL_UP_MOVE(11, MOVE_BITE), LEVEL_UP_MOVE(11, MOVE_HEX), - //LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE(25, MOVE_CRUNCH), LEVEL_UP_MOVE(25, MOVE_SHADOW_BALL), - //LEVEL_UP_MOVE(34, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(34, MOVE_WAVE_CRASH), LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -18151,12 +18151,12 @@ static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), - //LEVEL_UP_MOVE(11, MOVE_DIRE_CLAW), + LEVEL_UP_MOVE(11, MOVE_DIRE_CLAW), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(25, MOVE_POISON_JAB), LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; @@ -18164,11 +18164,11 @@ static const struct LevelUpMove sOverqwilLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), - //LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), LEVEL_UP_MOVE(21, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), - //LEVEL_UP_MOVE(29, MOVE_POISON_JAB), - //LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL, + LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(29, MOVE_POISON_JAB), + LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(57, MOVE_SELF_DESTRUCT), LEVEL_UP_END @@ -18178,12 +18178,12 @@ static const struct LevelUpMove sEnamorusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(11, MOVE_TWISTER), - //LEVEL_UP_MOVE(14, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(14, MOVE_DRAINING_KISS), LEVEL_UP_MOVE(22, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY), LEVEL_UP_MOVE(41, MOVE_CRUNCH), - //LEVEL_UP_MOVE(47, MOVE_MOONBLAST), - //LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), + LEVEL_UP_MOVE(47, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_SPRINGTIDE_STORM), LEVEL_UP_END }; #endif @@ -18206,7 +18206,7 @@ static const struct LevelUpMove sRattataAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18228,7 +18228,7 @@ static const struct LevelUpMove sRaticateAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sRaichuAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), LEVEL_UP_MOVE( 1, MOVE_SPEED_SWAP), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), @@ -18260,7 +18260,7 @@ static const struct LevelUpMove sSandshrewAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sSandslashAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_ICICLE_SPEAR), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), @@ -18296,7 +18296,7 @@ static const struct LevelUpMove sVulpixAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sNinetalesAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), LEVEL_UP_MOVE( 1, MOVE_IMPRISON), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18326,7 +18326,7 @@ static const struct LevelUpMove sDiglettAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sDugtrioAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), @@ -18370,7 +18370,7 @@ static const struct LevelUpMove sMeowthAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sPersianAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 0, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_QUASH), LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), @@ -18483,7 +18483,7 @@ static const struct LevelUpMove sGrimerAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), @@ -18507,7 +18507,7 @@ static const struct LevelUpMove sMukAlolanLevelUpLearnset[] = { }; static const struct LevelUpMove sExeggutorAlolanLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), + LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_DRAGON_HAMMER), LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), @@ -18579,7 +18579,7 @@ static const struct LevelUpMove sPonytaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sRapidashGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18621,7 +18621,7 @@ static const struct LevelUpMove sSlowpokeGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowbroGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), + LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_SHELL_SIDE_ARM), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18664,7 +18664,7 @@ static const struct LevelUpMove sFarfetchdGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sWeezingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), LEVEL_UP_MOVE( 1, MOVE_DEFOG), @@ -18782,7 +18782,7 @@ static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sSlowkingGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_EERIE_SPELL), LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), @@ -18843,7 +18843,7 @@ static const struct LevelUpMove sZigzagoonGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sLinooneGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), @@ -18885,7 +18885,7 @@ static const struct LevelUpMove sDarumakaGalarianLevelUpLearnset[] = { }; static const struct LevelUpMove sDarmanitanGalarianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -18948,11 +18948,11 @@ static const struct LevelUpMove sGrowlitheHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), - //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END }; @@ -18960,12 +18960,12 @@ static const struct LevelUpMove sArcanineHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_EMBER), LEVEL_UP_MOVE( 9, MOVE_BITE), - //LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(15, MOVE_FIRE_FANG), LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), - //LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), + LEVEL_UP_MOVE(29, MOVE_RAGING_FURY), LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), LEVEL_UP_END }; @@ -18974,7 +18974,7 @@ static const struct LevelUpMove sVoltorbHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(15, MOVE_SPARK), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_THUNDERBOLT), LEVEL_UP_MOVE(37, MOVE_THUNDER), LEVEL_UP_MOVE(47, MOVE_SELF_DESTRUCT), @@ -18986,23 +18986,23 @@ static const struct LevelUpMove sElectrodeHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 5, MOVE_TACKLE), LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), LEVEL_UP_MOVE(15, MOVE_SPARK), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_THUNDERBOLT), LEVEL_UP_MOVE(37, MOVE_THUNDER), - //LEVEL_UP_MOVE(47, MOVE_CHLOROBLAST), + LEVEL_UP_MOVE(47, MOVE_CHLOROBLAST), LEVEL_UP_MOVE(47, MOVE_SELF_DESTRUCT), LEVEL_UP_END }; static const struct LevelUpMove sTyphlosionHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_HEX), + LEVEL_UP_MOVE( 0, MOVE_HEX), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 6, MOVE_EMBER), LEVEL_UP_MOVE(11, MOVE_ROLLOUT), LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), LEVEL_UP_MOVE(25, MOVE_SWIFT), LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), - //LEVEL_UP_MOVE(40, MOVE_INFERNAL_PARADE), + LEVEL_UP_MOVE(40, MOVE_INFERNAL_PARADE), LEVEL_UP_MOVE(43, MOVE_OVERHEAT), LEVEL_UP_MOVE(43, MOVE_SHADOW_BALL), LEVEL_UP_END @@ -19012,11 +19012,11 @@ static const struct LevelUpMove sQwilfishHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 5, MOVE_SPIKES), LEVEL_UP_MOVE( 9, MOVE_PIN_MISSILE), - //LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(15, MOVE_BARB_BARRAGE), LEVEL_UP_MOVE(21, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), - //LEVEL_UP_MOVE(29, MOVE_POISON_JAB), - //LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL, + LEVEL_UP_MOVE(26, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(29, MOVE_POISON_JAB), + LEVEL_UP_MOVE(37, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(57, MOVE_SELF_DESTRUCT), LEVEL_UP_END @@ -19027,65 +19027,65 @@ static const struct LevelUpMove sSneaselHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), LEVEL_UP_MOVE(11, MOVE_SWIFT), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(25, MOVE_POISON_JAB), + LEVEL_UP_MOVE(25, MOVE_POISON_JAB), LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), - //LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; #if P_GEN_5_POKEMON == TRUE static const struct LevelUpMove sSamurottHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - //LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(21, MOVE_CEASELESS_EDGE), + LEVEL_UP_MOVE(21, MOVE_CEASELESS_EDGE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_AQUA_TAIL), - //LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(34, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sLilligantHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), - //LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), LEVEL_UP_MOVE( 9, MOVE_STUN_SPORE), LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), - //LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(21, MOVE_ENERGY_BALL), LEVEL_UP_MOVE(29, MOVE_SLEEP_POWDER), - //LEVEL_UP_MOVE(34, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(34, MOVE_DRAIN_PUNCH), LEVEL_UP_MOVE(37, MOVE_LEAF_BLADE), LEVEL_UP_MOVE(37, MOVE_RECOVER), - //LEVEL_UP_MOVE(42, MOVE_VICTORY_DANCE), - //LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(42, MOVE_VICTORY_DANCE), + LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), LEVEL_UP_MOVE(53, MOVE_PETAL_DANCE), LEVEL_UP_MOVE(57, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; static const struct LevelUpMove sZoruaHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), - //LEVEL_UP_MOVE( 6, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), - //LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), - //LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), LEVEL_UP_END }; static const struct LevelUpMove sZoroarkHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), - //LEVEL_UP_MOVE( 6, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 6, MOVE_SNARL), LEVEL_UP_MOVE(11, MOVE_SWIFT), - //LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(18, MOVE_BITTER_MALICE), LEVEL_UP_MOVE(25, MOVE_SLASH), - //LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(34, MOVE_SHADOW_CLAW), LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), - //LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), LEVEL_UP_MOVE(52, MOVE_EXTRASENSORY), LEVEL_UP_END }; @@ -19095,12 +19095,12 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 6, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(11, MOVE_TWISTER), LEVEL_UP_MOVE(18, MOVE_SLASH), - //LEVEL_UP_MOVE(20, MOVE_AIR_SLASH), - //LEVEL_UP_MOVE(25, MOVE_ESPER_WING), + LEVEL_UP_MOVE(20, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(25, MOVE_ESPER_WING), LEVEL_UP_MOVE(25, MOVE_ROOST), LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), - //LEVEL_UP_MOVE(43, MOVE_BRAVE_BIRD), - //LEVEL_UP_MOVE(52, MOVE_HURRICANE), + LEVEL_UP_MOVE(43, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(52, MOVE_HURRICANE), LEVEL_UP_END }; #endif @@ -19108,39 +19108,39 @@ static const struct LevelUpMove sBraviaryHisuianLevelUpLearnset[] = { #if P_GEN_6_POKEMON == TRUE static const struct LevelUpMove sSliggooHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), - //LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), - //LEVEL_UP_MOVE(34, MOVE_SHELTER), + LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(34, MOVE_SHELTER), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sGoodraHisuianLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - //LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(11, MOVE_ACID_ARMOR), LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), - //LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), - //LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), - //LEVEL_UP_MOVE(34, MOVE_SHELTER), + LEVEL_UP_MOVE(25, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(34, MOVE_SHELTER), LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), LEVEL_UP_END }; static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), - //LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 9, MOVE_ICE_SHARD), LEVEL_UP_MOVE(15, MOVE_BITE), LEVEL_UP_MOVE(21, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(29, MOVE_CRUNCH), - //LEVEL_UP_MOVE(29, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_EARTH_POWER), LEVEL_UP_MOVE(37, MOVE_BLIZZARD), - //LEVEL_UP_MOVE(37, MOVE_MOUNTAIN_GALE), + LEVEL_UP_MOVE(37, MOVE_MOUNTAIN_GALE), LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; @@ -19148,18 +19148,18 @@ static const struct LevelUpMove sAvaluggHisuianLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sDecidueyeHisuianLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 0, MOVE_ROCK_SMASH), LEVEL_UP_MOVE( 1, MOVE_GUST), - //LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 6, MOVE_LEAFAGE), LEVEL_UP_MOVE(11, MOVE_ROOST), LEVEL_UP_MOVE(18, MOVE_AERIAL_ACE), LEVEL_UP_MOVE(21, MOVE_MAGICAL_LEAF), - //LEVEL_UP_MOVE(25, MOVE_AIR_SLASH), - //LEVEL_UP_MOVE(30, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(25, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(30, MOVE_AURA_SPHERE), LEVEL_UP_MOVE(34, MOVE_LEAF_BLADE), - //LEVEL_UP_MOVE(34, MOVE_TRIPLE_ARROWS), - //LEVEL_UP_MOVE(40, MOVE_BRAVE_BIRD), - //LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(34, MOVE_TRIPLE_ARROWS), + LEVEL_UP_MOVE(40, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), LEVEL_UP_END }; #endif @@ -19222,7 +19222,7 @@ static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { #if P_GEN_4_POKEMON == TRUE static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19245,7 +19245,7 @@ static const struct LevelUpMove sWormadamSandyCloakLevelUpLearnset[] = { }; static const struct LevelUpMove sWormadamTrashCloakLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), @@ -19398,7 +19398,7 @@ static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { #if P_GEN_7_POKEMON == TRUE static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_COUNTER), + LEVEL_UP_MOVE( 0, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_REVERSAL), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19420,7 +19420,7 @@ static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { }; static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 0, MOVE_THRASH), LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_TACKLE), @@ -19444,7 +19444,7 @@ static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { #if P_GEN_8_POKEMON == TRUE static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 0, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_SPARK), LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), LEVEL_UP_MOVE( 1, MOVE_BELCH), @@ -19491,7 +19491,7 @@ static const struct LevelUpMove sIndeedeeFemaleLevelUpLearnset[] = { }; static const struct LevelUpMove sUrshifuRapidStrikeStyleLevelUpLearnset[] = { - //LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), + LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_SURGING_STRIKES), LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/species_info.h similarity index 97% rename from src/data/pokemon/base_stats.h rename to src/data/pokemon/species_info.h index a161fbf908..95ccf90aa3 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/species_info.h @@ -16,7 +16,7 @@ .baseSpDefense = 40 #endif -#define PIKACHU_BASE_STATS(gender, flip) \ +#define PIKACHU_SPECIES_INFO(gender, flip) \ { \ .baseHP = 35, \ .baseAttack = 55, \ @@ -28,7 +28,7 @@ .catchRate = 190, \ .expYield = 112, \ .evYield_Speed = 2, \ - .itemRare = ITEM_LIGHT_BALL, \ + .itemRare = ITEM_LIGHT_BALL, \ .genderRatio = gender, \ .eggCycles = 10, \ .friendship = 70, \ @@ -40,10 +40,10 @@ .noFlip = flip, \ } -#define COSPLAY_PIKACHU_BASE_STATS(flip) PIKACHU_BASE_STATS(MON_FEMALE, flip) -#define CAP_PIKACHU_BASE_STATS(flip) PIKACHU_BASE_STATS(MON_MALE, flip) +#define COSPLAY_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_FEMALE, flip) +#define CAP_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_MALE, flip) -#define PICHU_BASE_STATS(flip) \ +#define PICHU_SPECIES_INFO(flip) \ { \ .baseHP = 20, \ .baseAttack = 40, \ @@ -67,7 +67,7 @@ .noFlip = flip, \ } -#define UNOWN_BASE_STATS(flip) \ +#define UNOWN_SPECIES_INFO(flip) \ { \ .baseHP = 48, \ .baseAttack = 72, \ @@ -92,7 +92,7 @@ .noFlip = flip, \ } -#define CASTFORM_BASE_STATS(type, color) \ +#define CASTFORM_SPECIES_INFO(type, color) \ { \ .baseHP = 70, \ .baseAttack = 70, \ @@ -105,8 +105,8 @@ .catchRate = 45, \ .expYield = 147, \ .evYield_HP = 1, \ - .itemCommon = ITEM_MYSTIC_WATER, \ - .itemRare = ITEM_MYSTIC_WATER, \ + .itemCommon = ITEM_MYSTIC_WATER, \ + .itemRare = ITEM_MYSTIC_WATER, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 25, \ .friendship = 70, \ @@ -118,7 +118,7 @@ .noFlip = FALSE, \ } -#define BURMY_BASE_STATS(color) \ +#define BURMY_SPECIES_INFO(color) \ { \ .baseHP = 40, \ .baseAttack = 29, \ @@ -142,7 +142,7 @@ .noFlip = FALSE, \ } -#define CHERRIM_BASE_STATS(color) \ +#define CHERRIM_SPECIES_INFO(color) \ { \ .baseHP = 70, \ .baseAttack = 60, \ @@ -155,7 +155,7 @@ .catchRate = 75, \ .expYield = 158, \ .evYield_SpAttack = 2, \ - .itemRare = ITEM_MIRACLE_SEED, \ + .itemRare = ITEM_MIRACLE_SEED, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = 70, \ @@ -167,7 +167,7 @@ .noFlip = FALSE, \ } -#define SHELLOS_BASE_STATS(color) \ +#define SHELLOS_SPECIES_INFO(color) \ { \ .baseHP = 76, \ .baseAttack = 48, \ @@ -191,7 +191,7 @@ .noFlip = FALSE, \ } -#define GASTRODON_BASE_STATS(color) \ +#define GASTRODON_SPECIES_INFO(color) \ { \ .baseHP = 111, \ .baseAttack = 83, \ @@ -215,7 +215,7 @@ .noFlip = FALSE, \ } -#define ROTOM_FORM_BASE_STATS(type, flip) \ +#define ROTOM_FORM_SPECIES_INFO(type, flip) \ { \ .baseHP = 50, \ .baseAttack = 65, \ @@ -240,7 +240,7 @@ .noFlip = flip, \ } -#define ARCEUS_BASE_STATS(type) \ +#define ARCEUS_SPECIES_INFO(type) \ { \ .baseHP = 120, \ .baseAttack = 120, \ @@ -265,7 +265,7 @@ .flags = SPECIES_FLAG_MYTHICAL, \ } -#define DEERLING_BASE_STATS(color) \ +#define DEERLING_SPECIES_INFO(color) \ { \ .baseHP = 60, \ .baseAttack = 60, \ @@ -289,7 +289,7 @@ .noFlip = FALSE, \ } -#define SAWSBUCK_BASE_STATS \ +#define SAWSBUCK_SPECIES_INFO \ { \ .baseHP = 80, \ .baseAttack = 100, \ @@ -313,7 +313,7 @@ .noFlip = FALSE, \ } -#define GENESECT_BASE_STATS \ +#define GENESECT_SPECIES_INFO \ { \ .baseHP = 71, \ .baseAttack = 120, \ @@ -340,7 +340,7 @@ .flags = SPECIES_FLAG_MYTHICAL, \ } -#define VIVILLON_BASE_STATS(color) \ +#define VIVILLON_SPECIES_INFO(color) \ { \ .baseHP = 80, \ .baseAttack = 52, \ @@ -366,7 +366,7 @@ .noFlip = FALSE, \ } -#define FLABEBE_BASE_STATS \ +#define FLABEBE_SPECIES_INFO \ { \ .baseHP = 44, \ .baseAttack = 38, \ @@ -390,7 +390,7 @@ .noFlip = FALSE, \ } -#define FLOETTE_BASE_STATS \ +#define FLOETTE_SPECIES_INFO \ { \ .baseHP = 54, \ .baseAttack = 45, \ @@ -414,7 +414,7 @@ .noFlip = FALSE, \ } -#define FLORGES_BASE_STATS \ +#define FLORGES_SPECIES_INFO \ { \ .baseHP = 78, \ .baseAttack = 65, \ @@ -438,7 +438,7 @@ .noFlip = FALSE, \ } -#define FURFROU_BASE_STATS(flip) \ +#define FURFROU_SPECIES_INFO(flip) \ { \ .baseHP = 75, \ .baseAttack = 80, \ @@ -462,7 +462,7 @@ .noFlip = flip, \ } -#define PUMKPABOO_MISC_STATS \ +#define PUMKPABOO_MISC_INFO \ .type1 = TYPE_GHOST, \ .type2 = TYPE_GRASS, \ .catchRate = 120, \ @@ -478,7 +478,7 @@ .bodyColor = BODY_COLOR_BROWN, \ .noFlip = FALSE -#define GOURGEIST_MISC_STATS \ +#define GOURGEIST_MISC_INFO \ .type1 = TYPE_GHOST, \ .type2 = TYPE_GRASS, \ .catchRate = 60, \ @@ -494,7 +494,7 @@ .bodyColor = BODY_COLOR_BROWN, \ .noFlip = FALSE -#define XERNEAS_BASE_STATS \ +#define XERNEAS_SPECIES_INFO \ { \ .baseHP = 126, \ .baseAttack = 131, \ @@ -519,7 +519,7 @@ .flags = SPECIES_FLAG_LEGENDARY, \ } -#define ZYGARDE_50_BASE_STATS(ability) \ +#define ZYGARDE_50_SPECIES_INFO(ability) \ { \ .baseHP = 108, \ .baseAttack = 100, \ @@ -544,7 +544,7 @@ .flags = SPECIES_FLAG_LEGENDARY, \ } -#define ZYGARDE_10_BASE_STATS(ability) \ +#define ZYGARDE_10_SPECIES_INFO(ability) \ { \ .baseHP = 54, \ .baseAttack = 100, \ @@ -569,7 +569,7 @@ .flags = SPECIES_FLAG_LEGENDARY, \ } -#define ORICORIO_BASE_STATS(type, color) \ +#define ORICORIO_SPECIES_INFO(type, color) \ { \ .baseHP = 75, \ .baseAttack = 70, \ @@ -582,7 +582,7 @@ .catchRate = 45, \ .expYield = 167, \ .evYield_SpAttack = 2, \ - .itemRare = ITEM_HONEY, \ + .itemRare = ITEM_HONEY, \ .genderRatio = PERCENT_FEMALE(75), \ .eggCycles = 20, \ .friendship = 70, \ @@ -594,31 +594,31 @@ .noFlip = FALSE, \ } -#define ROCKRUFF_BASE_STATS(ability1, ability2, hiddenAbility)\ - { \ - .baseHP = 45, \ - .baseAttack = 65, \ - .baseDefense = 40, \ - .baseSpeed = 60, \ - .baseSpAttack = 30, \ - .baseSpDefense = 40, \ - .type1 = TYPE_ROCK, \ - .type2 = TYPE_ROCK, \ - .catchRate = 190, \ - .expYield = 56, \ - .evYield_Attack = 1, \ - .genderRatio = PERCENT_FEMALE(50), \ - .eggCycles = 15, \ - .friendship = 70, \ - .growthRate = GROWTH_MEDIUM_FAST, \ - .eggGroup1 = EGG_GROUP_FIELD, \ - .eggGroup2 = EGG_GROUP_FIELD, \ - .abilities = {ability1, ability2, hiddenAbility}, \ - .bodyColor = BODY_COLOR_BROWN, \ - .noFlip = FALSE, \ +#define ROCKRUFF_SPECIES_INFO(ability1, ability2, hiddenAbility)\ + { \ + .baseHP = 45, \ + .baseAttack = 65, \ + .baseDefense = 40, \ + .baseSpeed = 60, \ + .baseSpAttack = 30, \ + .baseSpDefense = 40, \ + .type1 = TYPE_ROCK, \ + .type2 = TYPE_ROCK, \ + .catchRate = 190, \ + .expYield = 56, \ + .evYield_Attack = 1, \ + .genderRatio = PERCENT_FEMALE(50), \ + .eggCycles = 15, \ + .friendship = 70, \ + .growthRate = GROWTH_MEDIUM_FAST, \ + .eggGroup1 = EGG_GROUP_FIELD, \ + .eggGroup2 = EGG_GROUP_FIELD, \ + .abilities = {ability1, ability2, hiddenAbility}, \ + .bodyColor = BODY_COLOR_BROWN, \ + .noFlip = FALSE, \ } -#define SILVALLY_BASE_STATS(type) \ +#define SILVALLY_SPECIES_INFO(type) \ { \ .baseHP = 95, \ .baseAttack = 95, \ @@ -659,38 +659,38 @@ .baseSpAttack = 100, \ .baseSpDefense = 60 -#define MINIOR_MISC_STATS(color) \ - .type1 = TYPE_ROCK, \ - .type2 = TYPE_FLYING, \ - .catchRate = 30, \ - .expYield = 154, \ - .evYield_Defense = 1, \ - .evYield_SpDefense = 1, \ - .itemRare = ITEM_STAR_PIECE, \ - .genderRatio = MON_GENDERLESS, \ - .eggCycles = 25, \ - .friendship = 70, \ - .growthRate = GROWTH_MEDIUM_SLOW, \ - .eggGroup1 = EGG_GROUP_MINERAL, \ - .eggGroup2 = EGG_GROUP_MINERAL, \ - .abilities = {ABILITY_SHIELDS_DOWN, ABILITY_NONE},\ - .bodyColor = color, \ +#define MINIOR_MISC_INFO(color) \ + .type1 = TYPE_ROCK, \ + .type2 = TYPE_FLYING, \ + .catchRate = 30, \ + .expYield = 154, \ + .evYield_Defense = 1, \ + .evYield_SpDefense = 1, \ + .itemRare = ITEM_STAR_PIECE, \ + .genderRatio = MON_GENDERLESS, \ + .eggCycles = 25, \ + .friendship = 70, \ + .growthRate = GROWTH_MEDIUM_SLOW, \ + .eggGroup1 = EGG_GROUP_MINERAL, \ + .eggGroup2 = EGG_GROUP_MINERAL, \ + .abilities = {ABILITY_SHIELDS_DOWN, ABILITY_NONE}, \ + .bodyColor = color, \ .noFlip = TRUE -#define MINIOR_METEOR_BASE_STATS \ +#define MINIOR_METEOR_SPECIES_INFO \ { \ MINIOR_METEOR_ATTRIBUTES, \ - MINIOR_MISC_STATS(BODY_COLOR_BROWN),\ + MINIOR_MISC_INFO(BODY_COLOR_BROWN), \ } -#define MINIOR_CORE_BASE_STATS(color)\ - { \ - MINIOR_CORE_ATTRIBUTES, \ - MINIOR_MISC_STATS(color), \ +#define MINIOR_CORE_SPECIES_INFO(color) \ + { \ + MINIOR_CORE_ATTRIBUTES, \ + MINIOR_MISC_INFO(color), \ } -#define MIMIKYU_BASE_STATS \ +#define MIMIKYU_SPECIES_INFO \ { \ .baseHP = 55, \ .baseAttack = 90, \ @@ -703,7 +703,7 @@ .catchRate = 45, \ .expYield = 167, \ .evYield_SpDefense = 2, \ - .itemRare = ITEM_CHESTO_BERRY, \ + .itemRare = ITEM_CHESTO_BERRY, \ .genderRatio = PERCENT_FEMALE(50), \ .eggCycles = 20, \ .friendship = 70, \ @@ -715,7 +715,7 @@ .noFlip = FALSE, \ } -#define MAGEARNA_BASE_STATS(color) \ +#define MAGEARNA_SPECIES_INFO(color) \ { \ .baseHP = 80, \ .baseAttack = 95, \ @@ -740,7 +740,7 @@ .flags = SPECIES_FLAG_MYTHICAL, \ } -#define CRAMORANT_BASE_STATS \ +#define CRAMORANT_SPECIES_INFO \ { \ .baseHP = 70, \ .baseAttack = 85, \ @@ -764,7 +764,7 @@ .noFlip = FALSE, \ } -#define TOXTRICITY_BASE_STATS(ability2) \ +#define TOXTRICITY_SPECIES_INFO(ability2) \ { \ .baseHP = 75, \ .baseAttack = 98, \ @@ -788,7 +788,7 @@ .noFlip = FALSE, \ } -#define SINISTEA_BASE_STATS \ +#define SINISTEA_SPECIES_INFO \ { \ .baseHP = 40, \ .baseAttack = 45, \ @@ -812,7 +812,7 @@ .noFlip = FALSE, \ } -#define POLTEAGEIST_BASE_STATS \ +#define POLTEAGEIST_SPECIES_INFO \ { \ .baseHP = 60, \ .baseAttack = 65, \ @@ -836,7 +836,7 @@ .noFlip = FALSE, \ } -#define ALCREMIE_BASE_STATS(color) \ +#define ALCREMIE_SPECIES_INFO(color) \ { \ .baseHP = 65, \ .baseAttack = 60, \ @@ -860,7 +860,7 @@ .noFlip = FALSE, \ } -#define MORPEKO_BASE_STATS \ +#define MORPEKO_SPECIES_INFO \ { \ .baseHP = 58, \ .baseAttack = 95, \ @@ -884,7 +884,7 @@ .noFlip = FALSE, \ } -#define ZARUDE_BASE_STATS \ +#define ZARUDE_SPECIES_INFO \ { \ .baseHP = 105, \ .baseAttack = 120, \ @@ -909,7 +909,7 @@ .flags = SPECIES_FLAG_MYTHICAL, \ } -const struct BaseStats gBaseStats[] = +const struct SpeciesInfo gSpeciesInfo[] = { [SPECIES_NONE] = {0}, @@ -1515,7 +1515,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_PIKACHU] = PIKACHU_BASE_STATS(PERCENT_FEMALE(50), FLIP), + [SPECIES_PIKACHU] = PIKACHU_SPECIES_INFO(PERCENT_FEMALE(50), FLIP), [SPECIES_RAICHU] = { @@ -5215,7 +5215,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_PICHU] = PICHU_BASE_STATS(FLIP), + [SPECIES_PICHU] = PICHU_SPECIES_INFO(FLIP), [SPECIES_CLEFFA] = { @@ -5941,7 +5941,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_UNOWN] = UNOWN_BASE_STATS(FLIP), + [SPECIES_UNOWN] = UNOWN_SPECIES_INFO(FLIP), [SPECIES_WOBBUFFET] = { @@ -9751,7 +9751,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_CASTFORM] = CASTFORM_BASE_STATS(TYPE_NORMAL, BODY_COLOR_GRAY), + [SPECIES_CASTFORM] = CASTFORM_SPECIES_INFO(TYPE_NORMAL, BODY_COLOR_GRAY), [SPECIES_KECLEON] = { @@ -11261,7 +11261,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_BURMY] = BURMY_BASE_STATS(BODY_COLOR_GREEN), + [SPECIES_BURMY] = BURMY_SPECIES_INFO(BODY_COLOR_GREEN), [SPECIES_WORMADAM] = { @@ -11463,11 +11463,11 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_CHERRIM] = CHERRIM_BASE_STATS(BODY_COLOR_PURPLE), + [SPECIES_CHERRIM] = CHERRIM_SPECIES_INFO(BODY_COLOR_PURPLE), - [SPECIES_SHELLOS] = SHELLOS_BASE_STATS(BODY_COLOR_PURPLE), + [SPECIES_SHELLOS] = SHELLOS_SPECIES_INFO(BODY_COLOR_PURPLE), - [SPECIES_GASTRODON] = GASTRODON_BASE_STATS(BODY_COLOR_PURPLE), + [SPECIES_GASTRODON] = GASTRODON_SPECIES_INFO(BODY_COLOR_PURPLE), [SPECIES_AMBIPOM] = { @@ -15502,9 +15502,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_DEERLING] = DEERLING_BASE_STATS(BODY_COLOR_PINK), + [SPECIES_DEERLING] = DEERLING_SPECIES_INFO(BODY_COLOR_PINK), - [SPECIES_SAWSBUCK] = SAWSBUCK_BASE_STATS, + [SPECIES_SAWSBUCK] = SAWSBUCK_SPECIES_INFO, [SPECIES_EMOLGA] = { @@ -17047,7 +17047,7 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_MYTHICAL, }, - [SPECIES_GENESECT] = GENESECT_BASE_STATS, + [SPECIES_GENESECT] = GENESECT_SPECIES_INFO, #endif #if P_GEN_6_POKEMON == TRUE @@ -17435,7 +17435,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_VIVILLON] = VIVILLON_BASE_STATS(BODY_COLOR_WHITE), + [SPECIES_VIVILLON] = VIVILLON_SPECIES_INFO(BODY_COLOR_WHITE), [SPECIES_LITLEO] = { @@ -17486,11 +17486,11 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, - [SPECIES_FLABEBE] = FLABEBE_BASE_STATS, + [SPECIES_FLABEBE] = FLABEBE_SPECIES_INFO, - [SPECIES_FLOETTE] = FLOETTE_BASE_STATS, + [SPECIES_FLOETTE] = FLOETTE_SPECIES_INFO, - [SPECIES_FLORGES] = FLORGES_BASE_STATS, + [SPECIES_FLORGES] = FLORGES_SPECIES_INFO, [SPECIES_SKIDDO] = { @@ -17590,7 +17590,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_FURFROU] = FURFROU_BASE_STATS(FLIP), + [SPECIES_FURFROU] = FURFROU_SPECIES_INFO(FLIP), [SPECIES_ESPURR] = { @@ -18407,7 +18407,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 51, .baseSpAttack = 44, .baseSpDefense = 55, - PUMKPABOO_MISC_STATS, + PUMKPABOO_MISC_INFO, }, [SPECIES_GOURGEIST] = @@ -18418,7 +18418,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 84, .baseSpAttack = 58, .baseSpDefense = 75, - GOURGEIST_MISC_STATS, + GOURGEIST_MISC_INFO, }, [SPECIES_BERGMITE] = @@ -18533,7 +18533,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_XERNEAS] = XERNEAS_BASE_STATS, + [SPECIES_XERNEAS] = XERNEAS_SPECIES_INFO, [SPECIES_YVELTAL] = { @@ -18560,7 +18560,7 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_ZYGARDE] = ZYGARDE_50_BASE_STATS(ABILITY_AURA_BREAK), + [SPECIES_ZYGARDE] = ZYGARDE_50_SPECIES_INFO(ABILITY_AURA_BREAK), [SPECIES_DIANCIE] = { @@ -19104,7 +19104,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_ORICORIO] = ORICORIO_BASE_STATS(TYPE_FIRE, BODY_COLOR_RED), + [SPECIES_ORICORIO] = ORICORIO_SPECIES_INFO(TYPE_FIRE, BODY_COLOR_RED), [SPECIES_CUTIEFLY] = { @@ -19156,7 +19156,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_ROCKRUFF] = ROCKRUFF_BASE_STATS(ABILITY_KEEN_EYE, ABILITY_VITAL_SPIRIT, ABILITY_STEADFAST), + [SPECIES_ROCKRUFF] = ROCKRUFF_SPECIES_INFO(ABILITY_KEEN_EYE, ABILITY_VITAL_SPIRIT, ABILITY_STEADFAST), [SPECIES_LYCANROC] = { @@ -19851,9 +19851,9 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_SILVALLY] = SILVALLY_BASE_STATS(TYPE_NORMAL), + [SPECIES_SILVALLY] = SILVALLY_SPECIES_INFO(TYPE_NORMAL), - [SPECIES_MINIOR] = MINIOR_METEOR_BASE_STATS, + [SPECIES_MINIOR] = MINIOR_METEOR_SPECIES_INFO, [SPECIES_KOMALA] = { @@ -19929,7 +19929,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_MIMIKYU] = MIMIKYU_BASE_STATS, + [SPECIES_MIMIKYU] = MIMIKYU_SPECIES_INFO, [SPECIES_BRUXISH] = { @@ -20485,7 +20485,7 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_MAGEARNA] = MAGEARNA_BASE_STATS(BODY_COLOR_GRAY), + [SPECIES_MAGEARNA] = MAGEARNA_SPECIES_INFO(BODY_COLOR_GRAY), [SPECIES_MARSHADOW] = { @@ -21535,7 +21535,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_CRAMORANT] = CRAMORANT_BASE_STATS, + [SPECIES_CRAMORANT] = CRAMORANT_SPECIES_INFO, [SPECIES_ARROKUDA] = { @@ -21609,7 +21609,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_TOXTRICITY] = TOXTRICITY_BASE_STATS(ABILITY_PLUS), + [SPECIES_TOXTRICITY] = TOXTRICITY_SPECIES_INFO(ABILITY_PLUS), [SPECIES_SIZZLIPEDE] = { @@ -21707,9 +21707,9 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_SINISTEA] = SINISTEA_BASE_STATS, + [SPECIES_SINISTEA] = SINISTEA_SPECIES_INFO, - [SPECIES_POLTEAGEIST] = POLTEAGEIST_BASE_STATS, + [SPECIES_POLTEAGEIST] = POLTEAGEIST_SPECIES_INFO, [SPECIES_HATENNA] = { @@ -22024,7 +22024,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_ALCREMIE] = ALCREMIE_BASE_STATS(BODY_COLOR_WHITE), + [SPECIES_ALCREMIE] = ALCREMIE_SPECIES_INFO(BODY_COLOR_WHITE), [SPECIES_FALINKS] = { @@ -22196,7 +22196,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_MORPEKO] = MORPEKO_BASE_STATS, + [SPECIES_MORPEKO] = MORPEKO_SPECIES_INFO, [SPECIES_CUFANT] = { @@ -22565,7 +22565,7 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_ZARUDE] = ZARUDE_BASE_STATS, + [SPECIES_ZARUDE] = ZARUDE_SPECIES_INFO, [SPECIES_REGIELEKI] = { @@ -25497,55 +25497,55 @@ const struct BaseStats gBaseStats[] = }, #endif - [SPECIES_PIKACHU_COSPLAY] = COSPLAY_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_ROCK_STAR] = COSPLAY_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_BELLE] = COSPLAY_PIKACHU_BASE_STATS(NO_FLIP), - [SPECIES_PIKACHU_POP_STAR] = COSPLAY_PIKACHU_BASE_STATS(NO_FLIP), - [SPECIES_PIKACHU_PH_D] = COSPLAY_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_LIBRE] = COSPLAY_PIKACHU_BASE_STATS(FLIP), + [SPECIES_PIKACHU_COSPLAY] = COSPLAY_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_ROCK_STAR] = COSPLAY_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_BELLE] = COSPLAY_PIKACHU_SPECIES_INFO(NO_FLIP), + [SPECIES_PIKACHU_POP_STAR] = COSPLAY_PIKACHU_SPECIES_INFO(NO_FLIP), + [SPECIES_PIKACHU_PH_D] = COSPLAY_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_LIBRE] = COSPLAY_PIKACHU_SPECIES_INFO(FLIP), - [SPECIES_PIKACHU_ORIGINAL_CAP] = CAP_PIKACHU_BASE_STATS(NO_FLIP), - [SPECIES_PIKACHU_HOENN_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_SINNOH_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_UNOVA_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_KALOS_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_ALOLA_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), - [SPECIES_PIKACHU_PARTNER_CAP] = CAP_PIKACHU_BASE_STATS(NO_FLIP), - [SPECIES_PIKACHU_WORLD_CAP] = CAP_PIKACHU_BASE_STATS(FLIP), + [SPECIES_PIKACHU_ORIGINAL_CAP] = CAP_PIKACHU_SPECIES_INFO(NO_FLIP), + [SPECIES_PIKACHU_HOENN_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_SINNOH_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_UNOVA_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_KALOS_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_ALOLA_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), + [SPECIES_PIKACHU_PARTNER_CAP] = CAP_PIKACHU_SPECIES_INFO(NO_FLIP), + [SPECIES_PIKACHU_WORLD_CAP] = CAP_PIKACHU_SPECIES_INFO(FLIP), - [SPECIES_PICHU_SPIKY_EARED] = PICHU_BASE_STATS(NO_FLIP), + [SPECIES_PICHU_SPIKY_EARED] = PICHU_SPECIES_INFO(NO_FLIP), - [SPECIES_UNOWN_B] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_C] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_D] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_E] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_F] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_G] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_H] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_I] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_J] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_K] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_L] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_M] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_N] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_O] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_P] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_Q] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_R] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_S] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_T] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_U] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_V] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_W] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_X] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_Y] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_Z] = UNOWN_BASE_STATS(NO_FLIP), - [SPECIES_UNOWN_EMARK] = UNOWN_BASE_STATS(FLIP), - [SPECIES_UNOWN_QMARK] = UNOWN_BASE_STATS(NO_FLIP), + [SPECIES_UNOWN_B] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_C] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_D] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_E] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_F] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_G] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_H] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_I] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_J] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_K] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_L] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_M] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_N] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_O] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_P] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_Q] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_R] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_S] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_T] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_U] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_V] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_W] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_X] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_Y] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_Z] = UNOWN_SPECIES_INFO(NO_FLIP), + [SPECIES_UNOWN_EMARK] = UNOWN_SPECIES_INFO(FLIP), + [SPECIES_UNOWN_QMARK] = UNOWN_SPECIES_INFO(NO_FLIP), - [SPECIES_CASTFORM_SUNNY] = CASTFORM_BASE_STATS(TYPE_FIRE, BODY_COLOR_RED), - [SPECIES_CASTFORM_RAINY] = CASTFORM_BASE_STATS(TYPE_WATER, BODY_COLOR_BLUE), - [SPECIES_CASTFORM_SNOWY] = CASTFORM_BASE_STATS(TYPE_ICE, BODY_COLOR_WHITE), + [SPECIES_CASTFORM_SUNNY] = CASTFORM_SPECIES_INFO(TYPE_FIRE, BODY_COLOR_RED), + [SPECIES_CASTFORM_RAINY] = CASTFORM_SPECIES_INFO(TYPE_WATER, BODY_COLOR_BLUE), + [SPECIES_CASTFORM_SNOWY] = CASTFORM_SPECIES_INFO(TYPE_ICE, BODY_COLOR_WHITE), [SPECIES_DEOXYS_ATTACK] = { @@ -25622,8 +25622,8 @@ const struct BaseStats gBaseStats[] = }, #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), + [SPECIES_BURMY_SANDY_CLOAK] = BURMY_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_BURMY_TRASH_CLOAK] = BURMY_SPECIES_INFO(BODY_COLOR_RED), [SPECIES_WORMADAM_SANDY_CLOAK] = { @@ -25676,17 +25676,17 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_CHERRIM_SUNSHINE] = CHERRIM_BASE_STATS(BODY_COLOR_PINK), + [SPECIES_CHERRIM_SUNSHINE] = CHERRIM_SPECIES_INFO(BODY_COLOR_PINK), - [SPECIES_SHELLOS_EAST_SEA] = SHELLOS_BASE_STATS(BODY_COLOR_BLUE), + [SPECIES_SHELLOS_EAST_SEA] = SHELLOS_SPECIES_INFO(BODY_COLOR_BLUE), - [SPECIES_GASTRODON_EAST_SEA] = GASTRODON_BASE_STATS(BODY_COLOR_BLUE), + [SPECIES_GASTRODON_EAST_SEA] = GASTRODON_SPECIES_INFO(BODY_COLOR_BLUE), - [SPECIES_ROTOM_HEAT] = ROTOM_FORM_BASE_STATS(TYPE_FIRE, FLIP), - [SPECIES_ROTOM_WASH] = ROTOM_FORM_BASE_STATS(TYPE_WATER, NO_FLIP), - [SPECIES_ROTOM_FROST] = ROTOM_FORM_BASE_STATS(TYPE_ICE, FLIP), - [SPECIES_ROTOM_FAN] = ROTOM_FORM_BASE_STATS(TYPE_FLYING, FLIP), - [SPECIES_ROTOM_MOW] = ROTOM_FORM_BASE_STATS(TYPE_GRASS, FLIP), + [SPECIES_ROTOM_HEAT] = ROTOM_FORM_SPECIES_INFO(TYPE_FIRE, FLIP), + [SPECIES_ROTOM_WASH] = ROTOM_FORM_SPECIES_INFO(TYPE_WATER, NO_FLIP), + [SPECIES_ROTOM_FROST] = ROTOM_FORM_SPECIES_INFO(TYPE_ICE, FLIP), + [SPECIES_ROTOM_FAN] = ROTOM_FORM_SPECIES_INFO(TYPE_FLYING, FLIP), + [SPECIES_ROTOM_MOW] = ROTOM_FORM_SPECIES_INFO(TYPE_GRASS, FLIP), [SPECIES_DIALGA_ORIGIN] = { @@ -25788,23 +25788,23 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, - [SPECIES_ARCEUS_FIGHTING] = ARCEUS_BASE_STATS(TYPE_FIGHTING), - [SPECIES_ARCEUS_FLYING] = ARCEUS_BASE_STATS(TYPE_FLYING), - [SPECIES_ARCEUS_POISON] = ARCEUS_BASE_STATS(TYPE_POISON), - [SPECIES_ARCEUS_GROUND] = ARCEUS_BASE_STATS(TYPE_GROUND), - [SPECIES_ARCEUS_ROCK] = ARCEUS_BASE_STATS(TYPE_ROCK), - [SPECIES_ARCEUS_BUG] = ARCEUS_BASE_STATS(TYPE_BUG), - [SPECIES_ARCEUS_GHOST] = ARCEUS_BASE_STATS(TYPE_GHOST), - [SPECIES_ARCEUS_STEEL] = ARCEUS_BASE_STATS(TYPE_STEEL), - [SPECIES_ARCEUS_FIRE] = ARCEUS_BASE_STATS(TYPE_FIRE), - [SPECIES_ARCEUS_WATER] = ARCEUS_BASE_STATS(TYPE_WATER), - [SPECIES_ARCEUS_GRASS] = ARCEUS_BASE_STATS(TYPE_GRASS), - [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_BASE_STATS(TYPE_ELECTRIC), - [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_BASE_STATS(TYPE_PSYCHIC), - [SPECIES_ARCEUS_ICE] = ARCEUS_BASE_STATS(TYPE_ICE), - [SPECIES_ARCEUS_DRAGON] = ARCEUS_BASE_STATS(TYPE_DRAGON), - [SPECIES_ARCEUS_DARK] = ARCEUS_BASE_STATS(TYPE_DARK), - [SPECIES_ARCEUS_FAIRY] = ARCEUS_BASE_STATS(TYPE_FAIRY), + [SPECIES_ARCEUS_FIGHTING] = ARCEUS_SPECIES_INFO(TYPE_FIGHTING), + [SPECIES_ARCEUS_FLYING] = ARCEUS_SPECIES_INFO(TYPE_FLYING), + [SPECIES_ARCEUS_POISON] = ARCEUS_SPECIES_INFO(TYPE_POISON), + [SPECIES_ARCEUS_GROUND] = ARCEUS_SPECIES_INFO(TYPE_GROUND), + [SPECIES_ARCEUS_ROCK] = ARCEUS_SPECIES_INFO(TYPE_ROCK), + [SPECIES_ARCEUS_BUG] = ARCEUS_SPECIES_INFO(TYPE_BUG), + [SPECIES_ARCEUS_GHOST] = ARCEUS_SPECIES_INFO(TYPE_GHOST), + [SPECIES_ARCEUS_STEEL] = ARCEUS_SPECIES_INFO(TYPE_STEEL), + [SPECIES_ARCEUS_FIRE] = ARCEUS_SPECIES_INFO(TYPE_FIRE), + [SPECIES_ARCEUS_WATER] = ARCEUS_SPECIES_INFO(TYPE_WATER), + [SPECIES_ARCEUS_GRASS] = ARCEUS_SPECIES_INFO(TYPE_GRASS), + [SPECIES_ARCEUS_ELECTRIC] = ARCEUS_SPECIES_INFO(TYPE_ELECTRIC), + [SPECIES_ARCEUS_PSYCHIC] = ARCEUS_SPECIES_INFO(TYPE_PSYCHIC), + [SPECIES_ARCEUS_ICE] = ARCEUS_SPECIES_INFO(TYPE_ICE), + [SPECIES_ARCEUS_DRAGON] = ARCEUS_SPECIES_INFO(TYPE_DRAGON), + [SPECIES_ARCEUS_DARK] = ARCEUS_SPECIES_INFO(TYPE_DARK), + [SPECIES_ARCEUS_FAIRY] = ARCEUS_SPECIES_INFO(TYPE_FAIRY), #endif #if P_GEN_5_POKEMON == TRUE @@ -25907,13 +25907,13 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_GALARIAN_FORM, }, - [SPECIES_DEERLING_SUMMER] = DEERLING_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_DEERLING_AUTUMN] = DEERLING_BASE_STATS(BODY_COLOR_RED), - [SPECIES_DEERLING_WINTER] = DEERLING_BASE_STATS(BODY_COLOR_BROWN), + [SPECIES_DEERLING_SUMMER] = DEERLING_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_DEERLING_AUTUMN] = DEERLING_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_DEERLING_WINTER] = DEERLING_SPECIES_INFO(BODY_COLOR_BROWN), - [SPECIES_SAWSBUCK_SUMMER] = SAWSBUCK_BASE_STATS, - [SPECIES_SAWSBUCK_AUTUMN] = SAWSBUCK_BASE_STATS, - [SPECIES_SAWSBUCK_WINTER] = SAWSBUCK_BASE_STATS, + [SPECIES_SAWSBUCK_SUMMER] = SAWSBUCK_SPECIES_INFO, + [SPECIES_SAWSBUCK_AUTUMN] = SAWSBUCK_SPECIES_INFO, + [SPECIES_SAWSBUCK_WINTER] = SAWSBUCK_SPECIES_INFO, [SPECIES_TORNADUS_THERIAN] = { @@ -26094,10 +26094,10 @@ const struct BaseStats gBaseStats[] = .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, + [SPECIES_GENESECT_DOUSE_DRIVE] = GENESECT_SPECIES_INFO, + [SPECIES_GENESECT_SHOCK_DRIVE] = GENESECT_SPECIES_INFO, + [SPECIES_GENESECT_BURN_DRIVE] = GENESECT_SPECIES_INFO, + [SPECIES_GENESECT_CHILL_DRIVE] = GENESECT_SPECIES_INFO, #endif #if P_GEN_6_POKEMON == TRUE @@ -26149,35 +26149,35 @@ const struct BaseStats gBaseStats[] = .noFlip = TRUE, }, - [SPECIES_VIVILLON_POLAR] = VIVILLON_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_VIVILLON_TUNDRA] = VIVILLON_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_VIVILLON_CONTINENTAL] = VIVILLON_BASE_STATS(BODY_COLOR_YELLOW), - [SPECIES_VIVILLON_GARDEN] = VIVILLON_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_VIVILLON_ELEGANT] = VIVILLON_BASE_STATS(BODY_COLOR_PURPLE), - [SPECIES_VIVILLON_MEADOW] = VIVILLON_BASE_STATS(BODY_COLOR_PINK), - [SPECIES_VIVILLON_MODERN] = VIVILLON_BASE_STATS(BODY_COLOR_RED), - [SPECIES_VIVILLON_MARINE] = VIVILLON_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_VIVILLON_ARCHIPELAGO] = VIVILLON_BASE_STATS(BODY_COLOR_BROWN), - [SPECIES_VIVILLON_HIGH_PLAINS] = VIVILLON_BASE_STATS(BODY_COLOR_BROWN), - [SPECIES_VIVILLON_SANDSTORM] = VIVILLON_BASE_STATS(BODY_COLOR_BROWN), - [SPECIES_VIVILLON_RIVER] = VIVILLON_BASE_STATS(BODY_COLOR_BROWN), - [SPECIES_VIVILLON_MONSOON] = VIVILLON_BASE_STATS(BODY_COLOR_GRAY), - [SPECIES_VIVILLON_SAVANNA] = VIVILLON_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_VIVILLON_SUN] = VIVILLON_BASE_STATS(BODY_COLOR_RED), - [SPECIES_VIVILLON_OCEAN] = VIVILLON_BASE_STATS(BODY_COLOR_RED), - [SPECIES_VIVILLON_JUNGLE] = VIVILLON_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_VIVILLON_FANCY] = VIVILLON_BASE_STATS(BODY_COLOR_PINK), - [SPECIES_VIVILLON_POKE_BALL] = VIVILLON_BASE_STATS(BODY_COLOR_RED), + [SPECIES_VIVILLON_POLAR] = VIVILLON_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_VIVILLON_TUNDRA] = VIVILLON_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_VIVILLON_CONTINENTAL] = VIVILLON_SPECIES_INFO(BODY_COLOR_YELLOW), + [SPECIES_VIVILLON_GARDEN] = VIVILLON_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_VIVILLON_ELEGANT] = VIVILLON_SPECIES_INFO(BODY_COLOR_PURPLE), + [SPECIES_VIVILLON_MEADOW] = VIVILLON_SPECIES_INFO(BODY_COLOR_PINK), + [SPECIES_VIVILLON_MODERN] = VIVILLON_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_VIVILLON_MARINE] = VIVILLON_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_VIVILLON_ARCHIPELAGO] = VIVILLON_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_VIVILLON_HIGH_PLAINS] = VIVILLON_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_VIVILLON_SANDSTORM] = VIVILLON_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_VIVILLON_RIVER] = VIVILLON_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_VIVILLON_MONSOON] = VIVILLON_SPECIES_INFO(BODY_COLOR_GRAY), + [SPECIES_VIVILLON_SAVANNA] = VIVILLON_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_VIVILLON_SUN] = VIVILLON_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_VIVILLON_OCEAN] = VIVILLON_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_VIVILLON_JUNGLE] = VIVILLON_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_VIVILLON_FANCY] = VIVILLON_SPECIES_INFO(BODY_COLOR_PINK), + [SPECIES_VIVILLON_POKE_BALL] = VIVILLON_SPECIES_INFO(BODY_COLOR_RED), - [SPECIES_FLABEBE_YELLOW_FLOWER] = FLABEBE_BASE_STATS, - [SPECIES_FLABEBE_ORANGE_FLOWER] = FLABEBE_BASE_STATS, - [SPECIES_FLABEBE_BLUE_FLOWER] = FLABEBE_BASE_STATS, - [SPECIES_FLABEBE_WHITE_FLOWER] = FLABEBE_BASE_STATS, + [SPECIES_FLABEBE_YELLOW_FLOWER] = FLABEBE_SPECIES_INFO, + [SPECIES_FLABEBE_ORANGE_FLOWER] = FLABEBE_SPECIES_INFO, + [SPECIES_FLABEBE_BLUE_FLOWER] = FLABEBE_SPECIES_INFO, + [SPECIES_FLABEBE_WHITE_FLOWER] = FLABEBE_SPECIES_INFO, - [SPECIES_FLOETTE_YELLOW_FLOWER] = FLOETTE_BASE_STATS, - [SPECIES_FLOETTE_ORANGE_FLOWER] = FLOETTE_BASE_STATS, - [SPECIES_FLOETTE_BLUE_FLOWER] = FLOETTE_BASE_STATS, - [SPECIES_FLOETTE_WHITE_FLOWER] = FLOETTE_BASE_STATS, + [SPECIES_FLOETTE_YELLOW_FLOWER] = FLOETTE_SPECIES_INFO, + [SPECIES_FLOETTE_ORANGE_FLOWER] = FLOETTE_SPECIES_INFO, + [SPECIES_FLOETTE_BLUE_FLOWER] = FLOETTE_SPECIES_INFO, + [SPECIES_FLOETTE_WHITE_FLOWER] = FLOETTE_SPECIES_INFO, [SPECIES_FLOETTE_ETERNAL_FLOWER] = { @@ -26203,20 +26203,20 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_FLORGES_YELLOW_FLOWER] = FLORGES_BASE_STATS, - [SPECIES_FLORGES_ORANGE_FLOWER] = FLORGES_BASE_STATS, - [SPECIES_FLORGES_BLUE_FLOWER] = FLORGES_BASE_STATS, - [SPECIES_FLORGES_WHITE_FLOWER] = FLORGES_BASE_STATS, + [SPECIES_FLORGES_YELLOW_FLOWER] = FLORGES_SPECIES_INFO, + [SPECIES_FLORGES_ORANGE_FLOWER] = FLORGES_SPECIES_INFO, + [SPECIES_FLORGES_BLUE_FLOWER] = FLORGES_SPECIES_INFO, + [SPECIES_FLORGES_WHITE_FLOWER] = FLORGES_SPECIES_INFO, - [SPECIES_FURFROU_HEART_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_STAR_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_DIAMOND_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_DEBUTANTE_TRIM] = FURFROU_BASE_STATS(NO_FLIP), - [SPECIES_FURFROU_MATRON_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_DANDY_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_LA_REINE_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_KABUKI_TRIM] = FURFROU_BASE_STATS(FLIP), - [SPECIES_FURFROU_PHARAOH_TRIM] = FURFROU_BASE_STATS(FLIP), + [SPECIES_FURFROU_HEART_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_STAR_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_DIAMOND_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_DEBUTANTE_TRIM] = FURFROU_SPECIES_INFO(NO_FLIP), + [SPECIES_FURFROU_MATRON_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_DANDY_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_LA_REINE_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_KABUKI_TRIM] = FURFROU_SPECIES_INFO(FLIP), + [SPECIES_FURFROU_PHARAOH_TRIM] = FURFROU_SPECIES_INFO(FLIP), [SPECIES_MEOWSTIC_FEMALE] = { @@ -26280,7 +26280,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 56, .baseSpAttack = 44, .baseSpDefense = 55, - PUMKPABOO_MISC_STATS, + PUMKPABOO_MISC_INFO, }, [SPECIES_PUMPKABOO_LARGE] = @@ -26291,7 +26291,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 46, .baseSpAttack = 44, .baseSpDefense = 55, - PUMKPABOO_MISC_STATS, + PUMKPABOO_MISC_INFO, }, [SPECIES_PUMPKABOO_SUPER] = @@ -26304,7 +26304,7 @@ const struct BaseStats gBaseStats[] = .baseSpDefense = 55, .itemCommon = ITEM_MIRACLE_SEED, .itemRare = ITEM_MIRACLE_SEED, - PUMKPABOO_MISC_STATS, + PUMKPABOO_MISC_INFO, }, [SPECIES_GOURGEIST_SMALL] = @@ -26315,7 +26315,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 99, .baseSpAttack = 58, .baseSpDefense = 75, - GOURGEIST_MISC_STATS, + GOURGEIST_MISC_INFO, }, [SPECIES_GOURGEIST_LARGE] = @@ -26326,7 +26326,7 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 69, .baseSpAttack = 58, .baseSpDefense = 75, - GOURGEIST_MISC_STATS, + GOURGEIST_MISC_INFO, }, [SPECIES_GOURGEIST_SUPER] = @@ -26339,14 +26339,14 @@ const struct BaseStats gBaseStats[] = .baseSpDefense = 75, .itemCommon = ITEM_MIRACLE_SEED, .itemRare = ITEM_MIRACLE_SEED, - GOURGEIST_MISC_STATS, + GOURGEIST_MISC_INFO, }, - [SPECIES_XERNEAS_ACTIVE] = XERNEAS_BASE_STATS, + [SPECIES_XERNEAS_ACTIVE] = XERNEAS_SPECIES_INFO, - [SPECIES_ZYGARDE_10] = ZYGARDE_10_BASE_STATS(ABILITY_AURA_BREAK), - [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = ZYGARDE_50_BASE_STATS(ABILITY_POWER_CONSTRUCT), - [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = ZYGARDE_50_BASE_STATS(ABILITY_POWER_CONSTRUCT), + [SPECIES_ZYGARDE_10] = ZYGARDE_10_SPECIES_INFO(ABILITY_AURA_BREAK), + [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = ZYGARDE_50_SPECIES_INFO(ABILITY_POWER_CONSTRUCT), + [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = ZYGARDE_50_SPECIES_INFO(ABILITY_POWER_CONSTRUCT), [SPECIES_ZYGARDE_COMPLETE] = { @@ -26400,11 +26400,11 @@ const struct BaseStats gBaseStats[] = #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), + [SPECIES_ORICORIO_POM_POM] = ORICORIO_SPECIES_INFO(TYPE_ELECTRIC, BODY_COLOR_YELLOW), + [SPECIES_ORICORIO_PAU] = ORICORIO_SPECIES_INFO(TYPE_PSYCHIC, BODY_COLOR_PINK), + [SPECIES_ORICORIO_SENSU] = ORICORIO_SPECIES_INFO(TYPE_GHOST, BODY_COLOR_PURPLE), - [SPECIES_ROCKRUFF_OWN_TEMPO] = ROCKRUFF_BASE_STATS(ABILITY_OWN_TEMPO, ABILITY_NONE, ABILITY_NONE), + [SPECIES_ROCKRUFF_OWN_TEMPO] = ROCKRUFF_SPECIES_INFO(ABILITY_OWN_TEMPO, ABILITY_NONE, ABILITY_NONE), [SPECIES_LYCANROC_MIDNIGHT] = { @@ -26478,40 +26478,40 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_SILVALLY_FIGHTING] = SILVALLY_BASE_STATS(TYPE_FIGHTING), - [SPECIES_SILVALLY_FLYING] = SILVALLY_BASE_STATS(TYPE_FLYING), - [SPECIES_SILVALLY_POISON] = SILVALLY_BASE_STATS(TYPE_POISON), - [SPECIES_SILVALLY_GROUND] = SILVALLY_BASE_STATS(TYPE_GROUND), - [SPECIES_SILVALLY_ROCK] = SILVALLY_BASE_STATS(TYPE_ROCK), - [SPECIES_SILVALLY_BUG] = SILVALLY_BASE_STATS(TYPE_BUG), - [SPECIES_SILVALLY_GHOST] = SILVALLY_BASE_STATS(TYPE_GHOST), - [SPECIES_SILVALLY_STEEL] = SILVALLY_BASE_STATS(TYPE_STEEL), - [SPECIES_SILVALLY_FIRE] = SILVALLY_BASE_STATS(TYPE_FIRE), - [SPECIES_SILVALLY_WATER] = SILVALLY_BASE_STATS(TYPE_WATER), - [SPECIES_SILVALLY_GRASS] = SILVALLY_BASE_STATS(TYPE_GRASS), - [SPECIES_SILVALLY_ELECTRIC] = SILVALLY_BASE_STATS(TYPE_ELECTRIC), - [SPECIES_SILVALLY_PSYCHIC] = SILVALLY_BASE_STATS(TYPE_PSYCHIC), - [SPECIES_SILVALLY_ICE] = SILVALLY_BASE_STATS(TYPE_ICE), - [SPECIES_SILVALLY_DRAGON] = SILVALLY_BASE_STATS(TYPE_DRAGON), - [SPECIES_SILVALLY_DARK] = SILVALLY_BASE_STATS(TYPE_DARK), - [SPECIES_SILVALLY_FAIRY] = SILVALLY_BASE_STATS(TYPE_FAIRY), + [SPECIES_SILVALLY_FIGHTING] = SILVALLY_SPECIES_INFO(TYPE_FIGHTING), + [SPECIES_SILVALLY_FLYING] = SILVALLY_SPECIES_INFO(TYPE_FLYING), + [SPECIES_SILVALLY_POISON] = SILVALLY_SPECIES_INFO(TYPE_POISON), + [SPECIES_SILVALLY_GROUND] = SILVALLY_SPECIES_INFO(TYPE_GROUND), + [SPECIES_SILVALLY_ROCK] = SILVALLY_SPECIES_INFO(TYPE_ROCK), + [SPECIES_SILVALLY_BUG] = SILVALLY_SPECIES_INFO(TYPE_BUG), + [SPECIES_SILVALLY_GHOST] = SILVALLY_SPECIES_INFO(TYPE_GHOST), + [SPECIES_SILVALLY_STEEL] = SILVALLY_SPECIES_INFO(TYPE_STEEL), + [SPECIES_SILVALLY_FIRE] = SILVALLY_SPECIES_INFO(TYPE_FIRE), + [SPECIES_SILVALLY_WATER] = SILVALLY_SPECIES_INFO(TYPE_WATER), + [SPECIES_SILVALLY_GRASS] = SILVALLY_SPECIES_INFO(TYPE_GRASS), + [SPECIES_SILVALLY_ELECTRIC] = SILVALLY_SPECIES_INFO(TYPE_ELECTRIC), + [SPECIES_SILVALLY_PSYCHIC] = SILVALLY_SPECIES_INFO(TYPE_PSYCHIC), + [SPECIES_SILVALLY_ICE] = SILVALLY_SPECIES_INFO(TYPE_ICE), + [SPECIES_SILVALLY_DRAGON] = SILVALLY_SPECIES_INFO(TYPE_DRAGON), + [SPECIES_SILVALLY_DARK] = SILVALLY_SPECIES_INFO(TYPE_DARK), + [SPECIES_SILVALLY_FAIRY] = SILVALLY_SPECIES_INFO(TYPE_FAIRY), - [SPECIES_MINIOR_METEOR_ORANGE] = MINIOR_METEOR_BASE_STATS, - [SPECIES_MINIOR_METEOR_YELLOW] = MINIOR_METEOR_BASE_STATS, - [SPECIES_MINIOR_METEOR_GREEN] = MINIOR_METEOR_BASE_STATS, - [SPECIES_MINIOR_METEOR_BLUE] = MINIOR_METEOR_BASE_STATS, - [SPECIES_MINIOR_METEOR_INDIGO] = MINIOR_METEOR_BASE_STATS, - [SPECIES_MINIOR_METEOR_VIOLET] = MINIOR_METEOR_BASE_STATS, + [SPECIES_MINIOR_METEOR_ORANGE] = MINIOR_METEOR_SPECIES_INFO, + [SPECIES_MINIOR_METEOR_YELLOW] = MINIOR_METEOR_SPECIES_INFO, + [SPECIES_MINIOR_METEOR_GREEN] = MINIOR_METEOR_SPECIES_INFO, + [SPECIES_MINIOR_METEOR_BLUE] = MINIOR_METEOR_SPECIES_INFO, + [SPECIES_MINIOR_METEOR_INDIGO] = MINIOR_METEOR_SPECIES_INFO, + [SPECIES_MINIOR_METEOR_VIOLET] = MINIOR_METEOR_SPECIES_INFO, - [SPECIES_MINIOR_CORE_RED] = MINIOR_CORE_BASE_STATS(BODY_COLOR_RED), - [SPECIES_MINIOR_CORE_ORANGE] = MINIOR_CORE_BASE_STATS(BODY_COLOR_RED), - [SPECIES_MINIOR_CORE_YELLOW] = MINIOR_CORE_BASE_STATS(BODY_COLOR_YELLOW), - [SPECIES_MINIOR_CORE_GREEN] = MINIOR_CORE_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_MINIOR_CORE_BLUE] = MINIOR_CORE_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_MINIOR_CORE_INDIGO] = MINIOR_CORE_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_MINIOR_CORE_VIOLET] = MINIOR_CORE_BASE_STATS(BODY_COLOR_PURPLE), + [SPECIES_MINIOR_CORE_RED] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_MINIOR_CORE_ORANGE] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_RED), + [SPECIES_MINIOR_CORE_YELLOW] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_YELLOW), + [SPECIES_MINIOR_CORE_GREEN] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_MINIOR_CORE_BLUE] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_MINIOR_CORE_INDIGO] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_MINIOR_CORE_VIOLET] = MINIOR_CORE_SPECIES_INFO(BODY_COLOR_PURPLE), - [SPECIES_MIMIKYU_BUSTED] = MIMIKYU_BASE_STATS, + [SPECIES_MIMIKYU_BUSTED] = MIMIKYU_SPECIES_INFO, [SPECIES_NECROZMA_DUSK_MANE] = { @@ -26590,27 +26590,27 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_BASE_STATS(BODY_COLOR_RED), + [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_SPECIES_INFO(BODY_COLOR_RED), #endif #if P_GEN_8_POKEMON == TRUE - [SPECIES_CRAMORANT_GULPING] = CRAMORANT_BASE_STATS, - [SPECIES_CRAMORANT_GORGING] = CRAMORANT_BASE_STATS, + [SPECIES_CRAMORANT_GULPING] = CRAMORANT_SPECIES_INFO, + [SPECIES_CRAMORANT_GORGING] = CRAMORANT_SPECIES_INFO, - [SPECIES_TOXTRICITY_LOW_KEY] = TOXTRICITY_BASE_STATS(ABILITY_MINUS), + [SPECIES_TOXTRICITY_LOW_KEY] = TOXTRICITY_SPECIES_INFO(ABILITY_MINUS), - [SPECIES_SINISTEA_ANTIQUE] = SINISTEA_BASE_STATS, + [SPECIES_SINISTEA_ANTIQUE] = SINISTEA_SPECIES_INFO, - [SPECIES_POLTEAGEIST_ANTIQUE] = POLTEAGEIST_BASE_STATS, + [SPECIES_POLTEAGEIST_ANTIQUE] = POLTEAGEIST_SPECIES_INFO, - [SPECIES_ALCREMIE_RUBY_CREAM] = ALCREMIE_BASE_STATS(BODY_COLOR_PINK), - [SPECIES_ALCREMIE_MATCHA_CREAM] = ALCREMIE_BASE_STATS(BODY_COLOR_GREEN), - [SPECIES_ALCREMIE_MINT_CREAM] = ALCREMIE_BASE_STATS(BODY_COLOR_BLUE), - [SPECIES_ALCREMIE_LEMON_CREAM] = ALCREMIE_BASE_STATS(BODY_COLOR_YELLOW), - [SPECIES_ALCREMIE_SALTED_CREAM] = ALCREMIE_BASE_STATS(BODY_COLOR_WHITE), - [SPECIES_ALCREMIE_RUBY_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_YELLOW), - [SPECIES_ALCREMIE_CARAMEL_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_BROWN), - [SPECIES_ALCREMIE_RAINBOW_SWIRL] = ALCREMIE_BASE_STATS(BODY_COLOR_YELLOW), + [SPECIES_ALCREMIE_RUBY_CREAM] = ALCREMIE_SPECIES_INFO(BODY_COLOR_PINK), + [SPECIES_ALCREMIE_MATCHA_CREAM] = ALCREMIE_SPECIES_INFO(BODY_COLOR_GREEN), + [SPECIES_ALCREMIE_MINT_CREAM] = ALCREMIE_SPECIES_INFO(BODY_COLOR_BLUE), + [SPECIES_ALCREMIE_LEMON_CREAM] = ALCREMIE_SPECIES_INFO(BODY_COLOR_YELLOW), + [SPECIES_ALCREMIE_SALTED_CREAM] = ALCREMIE_SPECIES_INFO(BODY_COLOR_WHITE), + [SPECIES_ALCREMIE_RUBY_SWIRL] = ALCREMIE_SPECIES_INFO(BODY_COLOR_YELLOW), + [SPECIES_ALCREMIE_CARAMEL_SWIRL] = ALCREMIE_SPECIES_INFO(BODY_COLOR_BROWN), + [SPECIES_ALCREMIE_RAINBOW_SWIRL] = ALCREMIE_SPECIES_INFO(BODY_COLOR_YELLOW), [SPECIES_EISCUE_NOICE_FACE] = { @@ -26660,7 +26660,7 @@ const struct BaseStats gBaseStats[] = .noFlip = FALSE, }, - [SPECIES_MORPEKO_HANGRY] = MORPEKO_BASE_STATS, + [SPECIES_MORPEKO_HANGRY] = MORPEKO_SPECIES_INFO, [SPECIES_ZACIAN_CROWNED_SWORD] = { @@ -26762,7 +26762,7 @@ const struct BaseStats gBaseStats[] = .flags = SPECIES_FLAG_LEGENDARY, }, - [SPECIES_ZARUDE_DADA] = ZARUDE_BASE_STATS, + [SPECIES_ZARUDE_DADA] = ZARUDE_SPECIES_INFO, [SPECIES_CALYREX_ICE_RIDER] = { diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 6d2ab461e9..b493b43573 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,4 +1,4 @@ -static const union AnimCmd sAnim_NONE_1[] = +static const union AnimCmd sAnim_None_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -6,7 +6,7 @@ ANIMCMD_END, }; -static const union AnimCmd sAnim_BULBASAUR_1[] = +static const union AnimCmd sAnim_Bulbasaur_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -14,7 +14,7 @@ static const union AnimCmd sAnim_BULBASAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IVYSAUR_1[] = +static const union AnimCmd sAnim_Ivysaur_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -22,7 +22,7 @@ static const union AnimCmd sAnim_IVYSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENUSAUR_1[] = +static const union AnimCmd sAnim_Venusaur_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -30,7 +30,7 @@ static const union AnimCmd sAnim_VENUSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMANDER_1[] = +static const union AnimCmd sAnim_Charmander_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -38,7 +38,7 @@ static const union AnimCmd sAnim_CHARMANDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMELEON_1[] = +static const union AnimCmd sAnim_Charmeleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -46,14 +46,14 @@ static const union AnimCmd sAnim_CHARMELEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARIZARD_1[] = +static const union AnimCmd sAnim_Charizard_1[] = { - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SQUIRTLE_1[] = +static const union AnimCmd sAnim_Squirtle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -61,7 +61,7 @@ static const union AnimCmd sAnim_SQUIRTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WARTORTLE_1[] = +static const union AnimCmd sAnim_Wartortle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -69,7 +69,7 @@ static const union AnimCmd sAnim_WARTORTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLASTOISE_1[] = +static const union AnimCmd sAnim_Blastoise_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -79,7 +79,7 @@ static const union AnimCmd sAnim_BLASTOISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CATERPIE_1[] = +static const union AnimCmd sAnim_Caterpie_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -92,14 +92,14 @@ static const union AnimCmd sAnim_CATERPIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAPOD_1[] = +static const union AnimCmd sAnim_Metapod_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUTTERFREE_1[] = +static const union AnimCmd sAnim_Butterfree_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -117,7 +117,7 @@ static const union AnimCmd sAnim_BUTTERFREE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEDLE_1[] = +static const union AnimCmd sAnim_Weedle_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -129,7 +129,7 @@ static const union AnimCmd sAnim_WEEDLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KAKUNA_1[] = +static const union AnimCmd sAnim_Kakuna_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -145,7 +145,7 @@ static const union AnimCmd sAnim_KAKUNA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEEDRILL_1[] = +static const union AnimCmd sAnim_Beedrill_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -155,7 +155,7 @@ static const union AnimCmd sAnim_BEEDRILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEY_1[] = +static const union AnimCmd sAnim_Pidgey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -172,7 +172,7 @@ static const union AnimCmd sAnim_PIDGEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_Pidgeotto_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -182,7 +182,7 @@ static const union AnimCmd sAnim_PIDGEOTTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOT_1[] = +static const union AnimCmd sAnim_Pidgeot_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -191,8 +191,7 @@ static const union AnimCmd sAnim_PIDGEOT_1[] = ANIMCMD_END, }; - -static const union AnimCmd sAnim_RATTATA_1[] = +static const union AnimCmd sAnim_Rattata_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -201,7 +200,7 @@ static const union AnimCmd sAnim_RATTATA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RATICATE_1[] = +static const union AnimCmd sAnim_Raticate_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -218,7 +217,7 @@ static const union AnimCmd sAnim_RATICATE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPEAROW_1[] = +static const union AnimCmd sAnim_Spearow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -239,7 +238,7 @@ static const union AnimCmd sAnim_SPEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEAROW_1[] = +static const union AnimCmd sAnim_Fearow_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -252,7 +251,7 @@ static const union AnimCmd sAnim_FEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EKANS_1[] = +static const union AnimCmd sAnim_Ekans_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -263,7 +262,7 @@ static const union AnimCmd sAnim_EKANS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARBOK_1[] = +static const union AnimCmd sAnim_Arbok_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -271,7 +270,7 @@ static const union AnimCmd sAnim_ARBOK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_1[] = +static const union AnimCmd sAnim_Pikachu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -281,7 +280,7 @@ static const union AnimCmd sAnim_PIKACHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_2[] = +static const union AnimCmd sAnim_Pikachu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -290,7 +289,7 @@ static const union AnimCmd sAnim_PIKACHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_1[] = +static const union AnimCmd sAnim_Raichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -300,7 +299,7 @@ static const union AnimCmd sAnim_RAICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_2[] = +static const union AnimCmd sAnim_Raichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -309,7 +308,7 @@ static const union AnimCmd sAnim_RAICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_1[] = +static const union AnimCmd sAnim_Sandshrew_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -319,7 +318,7 @@ static const union AnimCmd sAnim_SANDSHREW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_2[] = +static const union AnimCmd sAnim_Sandshrew_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -328,7 +327,7 @@ static const union AnimCmd sAnim_SANDSHREW_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_1[] = +static const union AnimCmd sAnim_Sandslash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -338,7 +337,7 @@ static const union AnimCmd sAnim_SANDSLASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_2[] = +static const union AnimCmd sAnim_Sandslash_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -347,7 +346,7 @@ static const union AnimCmd sAnim_SANDSLASH_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NidoranF_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -361,21 +360,21 @@ static const union AnimCmd sAnim_NIDORAN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINA_1[] = +static const union AnimCmd sAnim_Nidorina_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_Nidoqueen_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NidoranM_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -383,7 +382,7 @@ static const union AnimCmd sAnim_NIDORAN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINO_1[] = +static const union AnimCmd sAnim_Nidorino_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -391,7 +390,7 @@ static const union AnimCmd sAnim_NIDORINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOKING_1[] = +static const union AnimCmd sAnim_Nidoking_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -400,7 +399,7 @@ static const union AnimCmd sAnim_NIDOKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFAIRY_1[] = +static const union AnimCmd sAnim_Clefairy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -408,7 +407,7 @@ static const union AnimCmd sAnim_CLEFAIRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFABLE_1[] = +static const union AnimCmd sAnim_Clefable_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -419,7 +418,7 @@ static const union AnimCmd sAnim_CLEFABLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_1[] = +static const union AnimCmd sAnim_Vulpix_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -429,7 +428,7 @@ static const union AnimCmd sAnim_VULPIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_2[] = +static const union AnimCmd sAnim_Vulpix_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -438,7 +437,7 @@ static const union AnimCmd sAnim_VULPIX_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_1[] = +static const union AnimCmd sAnim_Ninetales_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -448,7 +447,7 @@ static const union AnimCmd sAnim_NINETALES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_2[] = +static const union AnimCmd sAnim_Ninetales_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -457,7 +456,7 @@ static const union AnimCmd sAnim_NINETALES_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_Jigglypuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -467,7 +466,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_Jigglypuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -476,7 +475,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_Wigglytuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -486,7 +485,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_Wigglytuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -495,7 +494,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZUBAT_1[] = +static const union AnimCmd sAnim_Zubat_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -513,7 +512,7 @@ static const union AnimCmd sAnim_ZUBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLBAT_1[] = +static const union AnimCmd sAnim_Golbat_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -537,7 +536,7 @@ static const union AnimCmd sAnim_GOLBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ODDISH_1[] = +static const union AnimCmd sAnim_Oddish_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -549,7 +548,7 @@ static const union AnimCmd sAnim_ODDISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLOOM_1[] = +static const union AnimCmd sAnim_Gloom_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -558,17 +557,17 @@ static const union AnimCmd sAnim_GLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VILEPLUME_1[] = +static const union AnimCmd sAnim_Vileplume_1[] = { - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 13), - ANIMCMD_FRAME(1, 21), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PARAS_1[] = +static const union AnimCmd sAnim_Paras_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -589,7 +588,7 @@ static const union AnimCmd sAnim_PARAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PARASECT_1[] = +static const union AnimCmd sAnim_Parasect_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -600,7 +599,7 @@ static const union AnimCmd sAnim_PARASECT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENONAT_1[] = +static const union AnimCmd sAnim_Venonat_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -611,7 +610,7 @@ static const union AnimCmd sAnim_VENONAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENOMOTH_1[] = +static const union AnimCmd sAnim_Venomoth_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -638,7 +637,7 @@ static const union AnimCmd sAnim_VENOMOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGLETT_1[] = +static const union AnimCmd sAnim_Diglett_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -646,7 +645,7 @@ static const union AnimCmd sAnim_DIGLETT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUGTRIO_1[] = +static const union AnimCmd sAnim_Dugtrio_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -661,7 +660,7 @@ static const union AnimCmd sAnim_DUGTRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_1[] = +static const union AnimCmd sAnim_Meowth_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -672,14 +671,14 @@ static const union AnimCmd sAnim_MEOWTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PERSIAN_1[] = +static const union AnimCmd sAnim_Persian_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_1[] = +static const union AnimCmd sAnim_Psyduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -689,7 +688,7 @@ static const union AnimCmd sAnim_PSYDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_2[] = +static const union AnimCmd sAnim_Psyduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -698,7 +697,7 @@ static const union AnimCmd sAnim_PSYDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_1[] = +static const union AnimCmd sAnim_Golduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -708,7 +707,7 @@ static const union AnimCmd sAnim_GOLDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_2[] = +static const union AnimCmd sAnim_Golduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -717,7 +716,7 @@ static const union AnimCmd sAnim_GOLDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANKEY_1[] = +static const union AnimCmd sAnim_Mankey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -728,7 +727,7 @@ static const union AnimCmd sAnim_MANKEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PRIMEAPE_1[] = +static const union AnimCmd sAnim_Primeape_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -739,7 +738,7 @@ static const union AnimCmd sAnim_PRIMEAPE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROWLITHE_1[] = +static const union AnimCmd sAnim_Growlithe_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -750,7 +749,7 @@ static const union AnimCmd sAnim_GROWLITHE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCANINE_1[] = +static const union AnimCmd sAnim_Arcanine_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -758,9 +757,10 @@ static const union AnimCmd sAnim_ARCANINE_1[] = ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_POLIWAG_1[] = +static const union AnimCmd sAnim_Poliwag_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -768,7 +768,7 @@ static const union AnimCmd sAnim_POLIWAG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWHIRL_1[] = +static const union AnimCmd sAnim_Poliwhirl_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -778,14 +778,14 @@ static const union AnimCmd sAnim_POLIWHIRL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWRATH_1[] = +static const union AnimCmd sAnim_Poliwrath_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABRA_1[] = +static const union AnimCmd sAnim_Abra_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -795,7 +795,7 @@ static const union AnimCmd sAnim_ABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KADABRA_1[] = +static const union AnimCmd sAnim_Kadabra_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -803,7 +803,7 @@ static const union AnimCmd sAnim_KADABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALAKAZAM_1[] = +static const union AnimCmd sAnim_Alakazam_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -811,7 +811,7 @@ static const union AnimCmd sAnim_ALAKAZAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOP_1[] = +static const union AnimCmd sAnim_Machop_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -823,7 +823,7 @@ static const union AnimCmd sAnim_MACHOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOKE_1[] = +static const union AnimCmd sAnim_Machoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -831,7 +831,7 @@ static const union AnimCmd sAnim_MACHOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHAMP_1[] = +static const union AnimCmd sAnim_Machamp_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -843,7 +843,7 @@ static const union AnimCmd sAnim_MACHAMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLSPROUT_1[] = +static const union AnimCmd sAnim_Bellsprout_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -851,7 +851,7 @@ static const union AnimCmd sAnim_BELLSPROUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEPINBELL_1[] = +static const union AnimCmd sAnim_Weepinbell_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -863,7 +863,7 @@ static const union AnimCmd sAnim_WEEPINBELL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VICTREEBEL_1[] = +static const union AnimCmd sAnim_Victreebel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -875,7 +875,7 @@ static const union AnimCmd sAnim_VICTREEBEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACOOL_1[] = +static const union AnimCmd sAnim_Tentacool_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -885,7 +885,7 @@ static const union AnimCmd sAnim_TENTACOOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACRUEL_1[] = +static const union AnimCmd sAnim_Tentacruel_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -895,7 +895,7 @@ static const union AnimCmd sAnim_TENTACRUEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GEODUDE_1[] = +static const union AnimCmd sAnim_Geodude_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -903,7 +903,7 @@ static const union AnimCmd sAnim_GEODUDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAVELER_1[] = +static const union AnimCmd sAnim_Graveler_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -913,7 +913,7 @@ static const union AnimCmd sAnim_GRAVELER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLEM_1[] = +static const union AnimCmd sAnim_Golem_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -923,14 +923,14 @@ static const union AnimCmd sAnim_GOLEM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PONYTA_1[] = +static const union AnimCmd sAnim_Ponyta_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAPIDASH_1[] = +static const union AnimCmd sAnim_Rapidash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -938,7 +938,7 @@ static const union AnimCmd sAnim_RAPIDASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWPOKE_1[] = +static const union AnimCmd sAnim_Slowpoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -946,7 +946,7 @@ static const union AnimCmd sAnim_SLOWPOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_1[] = +static const union AnimCmd sAnim_Slowbro_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -954,7 +954,7 @@ static const union AnimCmd sAnim_SLOWBRO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNEMITE_1[] = +static const union AnimCmd sAnim_Magnemite_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -964,7 +964,7 @@ static const union AnimCmd sAnim_MAGNEMITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNETON_1[] = +static const union AnimCmd sAnim_Magneton_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -976,7 +976,7 @@ static const union AnimCmd sAnim_MAGNETON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FARFETCHD_1[] = +static const union AnimCmd sAnim_Farfetchd_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -993,7 +993,7 @@ static const union AnimCmd sAnim_FARFETCHD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODUO_1[] = +static const union AnimCmd sAnim_Doduo_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1003,7 +1003,7 @@ static const union AnimCmd sAnim_DODUO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODRIO_1[] = +static const union AnimCmd sAnim_Dodrio_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1017,20 +1017,14 @@ static const union AnimCmd sAnim_DODRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEL_1[] = +static const union AnimCmd sAnim_Seel_1[] = { - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWGONG_1[] = +static const union AnimCmd sAnim_Dewgong_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1038,7 +1032,7 @@ static const union AnimCmd sAnim_DEWGONG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_1[] = +static const union AnimCmd sAnim_Grimer_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1048,7 +1042,7 @@ static const union AnimCmd sAnim_GRIMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_2[] = +static const union AnimCmd sAnim_Grimer_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1057,7 +1051,7 @@ static const union AnimCmd sAnim_GRIMER_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_1[] = +static const union AnimCmd sAnim_Muk_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1067,7 +1061,7 @@ static const union AnimCmd sAnim_MUK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_2[] = +static const union AnimCmd sAnim_Muk_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1076,7 +1070,7 @@ static const union AnimCmd sAnim_MUK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELLDER_1[] = +static const union AnimCmd sAnim_Shellder_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1085,7 +1079,7 @@ static const union AnimCmd sAnim_SHELLDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLOYSTER_1[] = +static const union AnimCmd sAnim_Cloyster_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1106,7 +1100,7 @@ static const union AnimCmd sAnim_CLOYSTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GASTLY_1[] = +static const union AnimCmd sAnim_Gastly_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1114,7 +1108,7 @@ static const union AnimCmd sAnim_GASTLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HAUNTER_1[] = +static const union AnimCmd sAnim_Haunter_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1124,7 +1118,7 @@ static const union AnimCmd sAnim_HAUNTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GENGAR_1[] = +static const union AnimCmd sAnim_Gengar_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1132,7 +1126,7 @@ static const union AnimCmd sAnim_GENGAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ONIX_1[] = +static const union AnimCmd sAnim_Onix_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1140,7 +1134,7 @@ static const union AnimCmd sAnim_ONIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DROWZEE_1[] = +static const union AnimCmd sAnim_Drowzee_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1151,7 +1145,7 @@ static const union AnimCmd sAnim_DROWZEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HYPNO_1[] = +static const union AnimCmd sAnim_Hypno_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1163,7 +1157,7 @@ static const union AnimCmd sAnim_HYPNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KRABBY_1[] = +static const union AnimCmd sAnim_Krabby_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1174,7 +1168,7 @@ static const union AnimCmd sAnim_KRABBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGLER_1[] = +static const union AnimCmd sAnim_Kingler_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1188,7 +1182,7 @@ static const union AnimCmd sAnim_KINGLER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLTORB_1[] = +static const union AnimCmd sAnim_Voltorb_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1198,7 +1192,7 @@ static const union AnimCmd sAnim_VOLTORB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRODE_1[] = +static const union AnimCmd sAnim_Electrode_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1208,7 +1202,7 @@ static const union AnimCmd sAnim_ELECTRODE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_Exeggcute_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1222,14 +1216,14 @@ static const union AnimCmd sAnim_EXEGGCUTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_Exeggutor_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; - -static const union AnimCmd sAnim_CUBONE_1[] = +static const union AnimCmd sAnim_Cubone_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1240,7 +1234,7 @@ static const union AnimCmd sAnim_CUBONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAROWAK_1[] = +static const union AnimCmd sAnim_Marowak_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1251,14 +1245,14 @@ static const union AnimCmd sAnim_MAROWAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONLEE_1[] = +static const union AnimCmd sAnim_Hitmonlee_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONCHAN_1[] = +static const union AnimCmd sAnim_Hitmonchan_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1271,7 +1265,7 @@ static const union AnimCmd sAnim_HITMONCHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LICKITUNG_1[] = +static const union AnimCmd sAnim_Lickitung_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1279,7 +1273,7 @@ static const union AnimCmd sAnim_LICKITUNG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_1[] = +static const union AnimCmd sAnim_Koffing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1289,7 +1283,7 @@ static const union AnimCmd sAnim_KOFFING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_2[] = +static const union AnimCmd sAnim_Koffing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1298,7 +1292,7 @@ static const union AnimCmd sAnim_KOFFING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_1[] = +static const union AnimCmd sAnim_Weezing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1308,7 +1302,7 @@ static const union AnimCmd sAnim_WEEZING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_2[] = +static const union AnimCmd sAnim_Weezing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1317,7 +1311,7 @@ static const union AnimCmd sAnim_WEEZING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_1[] = +static const union AnimCmd sAnim_Rhyhorn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1327,7 +1321,7 @@ static const union AnimCmd sAnim_RHYHORN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_2[] = +static const union AnimCmd sAnim_Rhyhorn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1336,7 +1330,7 @@ static const union AnimCmd sAnim_RHYHORN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_1[] = +static const union AnimCmd sAnim_Rhydon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1346,7 +1340,7 @@ static const union AnimCmd sAnim_RHYDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_2[] = +static const union AnimCmd sAnim_Rhydon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1355,7 +1349,7 @@ static const union AnimCmd sAnim_RHYDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHANSEY_1[] = +static const union AnimCmd sAnim_Chansey_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1363,7 +1357,7 @@ static const union AnimCmd sAnim_CHANSEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TANGELA_1[] = +static const union AnimCmd sAnim_Tangela_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1378,7 +1372,7 @@ static const union AnimCmd sAnim_TANGELA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KANGASKHAN_1[] = +static const union AnimCmd sAnim_Kangaskhan_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1387,7 +1381,7 @@ static const union AnimCmd sAnim_KANGASKHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_1[] = +static const union AnimCmd sAnim_Horsea_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1397,7 +1391,7 @@ static const union AnimCmd sAnim_HORSEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_2[] = +static const union AnimCmd sAnim_Horsea_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1406,7 +1400,7 @@ static const union AnimCmd sAnim_HORSEA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_1[] = +static const union AnimCmd sAnim_Seadra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1416,7 +1410,7 @@ static const union AnimCmd sAnim_SEADRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_2[] = +static const union AnimCmd sAnim_Seadra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1425,7 +1419,7 @@ static const union AnimCmd sAnim_SEADRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDEEN_1[] = +static const union AnimCmd sAnim_Goldeen_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1439,7 +1433,7 @@ static const union AnimCmd sAnim_GOLDEEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEAKING_1[] = +static const union AnimCmd sAnim_Seaking_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1449,7 +1443,7 @@ static const union AnimCmd sAnim_SEAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_1[] = +static const union AnimCmd sAnim_Staryu_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1459,7 +1453,7 @@ static const union AnimCmd sAnim_STARYU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_2[] = +static const union AnimCmd sAnim_Staryu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1468,7 +1462,7 @@ static const union AnimCmd sAnim_STARYU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_1[] = +static const union AnimCmd sAnim_Starmie_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1478,7 +1472,7 @@ static const union AnimCmd sAnim_STARMIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_2[] = +static const union AnimCmd sAnim_Starmie_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1487,7 +1481,7 @@ static const union AnimCmd sAnim_STARMIE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_MIME_1[] = +static const union AnimCmd sAnim_MrMime_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1498,7 +1492,7 @@ static const union AnimCmd sAnim_MR_MIME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCYTHER_1[] = +static const union AnimCmd sAnim_Scyther_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1511,7 +1505,7 @@ static const union AnimCmd sAnim_SCYTHER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JYNX_1[] = +static const union AnimCmd sAnim_Jynx_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1521,23 +1515,24 @@ static const union AnimCmd sAnim_JYNX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_Electabuzz_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGMAR_1[] = +static const union AnimCmd sAnim_Magmar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_1[] = +static const union AnimCmd sAnim_Pinsir_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1547,7 +1542,7 @@ static const union AnimCmd sAnim_PINSIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_2[] = +static const union AnimCmd sAnim_Pinsir_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1556,7 +1551,7 @@ static const union AnimCmd sAnim_PINSIR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAUROS_1[] = +static const union AnimCmd sAnim_Tauros_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1565,7 +1560,7 @@ static const union AnimCmd sAnim_TAUROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGIKARP_1[] = +static const union AnimCmd sAnim_Magikarp_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1579,7 +1574,7 @@ static const union AnimCmd sAnim_MAGIKARP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GYARADOS_1[] = +static const union AnimCmd sAnim_Gyarados_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1587,14 +1582,14 @@ static const union AnimCmd sAnim_GYARADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAPRAS_1[] = +static const union AnimCmd sAnim_Lapras_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DITTO_1[] = +static const union AnimCmd sAnim_Ditto_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1603,35 +1598,35 @@ static const union AnimCmd sAnim_DITTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EEVEE_1[] = +static const union AnimCmd sAnim_Eevee_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_VAPOREON_1[] = +static const union AnimCmd sAnim_Vaporeon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_JOLTEON_1[] = +static const union AnimCmd sAnim_Jolteon_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAREON_1[] = +static const union AnimCmd sAnim_Flareon_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_PORYGON_1[] = +static const union AnimCmd sAnim_Porygon_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1640,7 +1635,7 @@ static const union AnimCmd sAnim_PORYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMANYTE_1[] = +static const union AnimCmd sAnim_Omanyte_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1653,7 +1648,7 @@ static const union AnimCmd sAnim_OMANYTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMASTAR_1[] = +static const union AnimCmd sAnim_Omastar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1662,7 +1657,7 @@ static const union AnimCmd sAnim_OMASTAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTO_1[] = +static const union AnimCmd sAnim_Kabuto_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1675,7 +1670,7 @@ static const union AnimCmd sAnim_KABUTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTOPS_1[] = +static const union AnimCmd sAnim_Kabutops_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1684,7 +1679,7 @@ static const union AnimCmd sAnim_KABUTOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AERODACTYL_1[] = +static const union AnimCmd sAnim_Aerodactyl_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1693,7 +1688,7 @@ static const union AnimCmd sAnim_AERODACTYL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORLAX_1[] = +static const union AnimCmd sAnim_Snorlax_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1701,7 +1696,7 @@ static const union AnimCmd sAnim_SNORLAX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARTICUNO_1[] = +static const union AnimCmd sAnim_Articuno_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1710,7 +1705,7 @@ static const union AnimCmd sAnim_ARTICUNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAPDOS_1[] = +static const union AnimCmd sAnim_Zapdos_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1719,7 +1714,7 @@ static const union AnimCmd sAnim_ZAPDOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MOLTRES_1[] = +static const union AnimCmd sAnim_Moltres_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1756,7 +1751,7 @@ static const union AnimCmd sAnim_MOLTRES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRATINI_1[] = +static const union AnimCmd sAnim_Dratini_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1764,7 +1759,7 @@ static const union AnimCmd sAnim_DRATINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONAIR_1[] = +static const union AnimCmd sAnim_Dragonair_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1773,7 +1768,7 @@ static const union AnimCmd sAnim_DRAGONAIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONITE_1[] = +static const union AnimCmd sAnim_Dragonite_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1781,14 +1776,14 @@ static const union AnimCmd sAnim_DRAGONITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEWTWO_1[] = +static const union AnimCmd sAnim_Mewtwo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEW_1[] = +static const union AnimCmd sAnim_Mew_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1796,29 +1791,29 @@ static const union AnimCmd sAnim_MEW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIKORITA_1[] = +static const union AnimCmd sAnim_Chikorita_1[] = { ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END,}; - - -static const union AnimCmd sAnim_BAYLEEF_1[] = -{ ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEGANIUM_1[] = +static const union AnimCmd sAnim_Bayleef_1[] = { - ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_Meganium_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Cyndaquil_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1827,21 +1822,21 @@ static const union AnimCmd sAnim_CYNDAQUIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILAVA_1[] = +static const union AnimCmd sAnim_Quilava_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPHLOSION_1[] = +static const union AnimCmd sAnim_Typhlosion_1[] = { - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOTODILE_1[] = +static const union AnimCmd sAnim_Totodile_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1852,14 +1847,14 @@ static const union AnimCmd sAnim_TOTODILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROCONAW_1[] = +static const union AnimCmd sAnim_Croconaw_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FERALIGATR_1[] = +static const union AnimCmd sAnim_Feraligatr_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1868,7 +1863,7 @@ static const union AnimCmd sAnim_FERALIGATR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SENTRET_1[] = +static const union AnimCmd sAnim_Sentret_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1877,14 +1872,14 @@ static const union AnimCmd sAnim_SENTRET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FURRET_1[] = +static const union AnimCmd sAnim_Furret_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOTHOOT_1[] = +static const union AnimCmd sAnim_Hoothoot_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1901,14 +1896,14 @@ static const union AnimCmd sAnim_HOOTHOOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOCTOWL_1[] = +static const union AnimCmd sAnim_Noctowl_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDYBA_1[] = +static const union AnimCmd sAnim_Ledyba_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1917,38 +1912,16 @@ static const union AnimCmd sAnim_LEDYBA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDIAN_1[] = +static const union AnimCmd sAnim_Ledian_1[] = { - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPINARAK_1[] = +static const union AnimCmd sAnim_Spinarak_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1961,7 +1934,7 @@ static const union AnimCmd sAnim_SPINARAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARIADOS_1[] = +static const union AnimCmd sAnim_Ariados_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1970,7 +1943,7 @@ static const union AnimCmd sAnim_ARIADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROBAT_1[] = +static const union AnimCmd sAnim_Crobat_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1992,7 +1965,7 @@ static const union AnimCmd sAnim_CROBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_1[] = +static const union AnimCmd sAnim_Chinchou_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2002,7 +1975,7 @@ static const union AnimCmd sAnim_CHINCHOU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_2[] = +static const union AnimCmd sAnim_Chinchou_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2011,7 +1984,7 @@ static const union AnimCmd sAnim_CHINCHOU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_1[] = +static const union AnimCmd sAnim_Lanturn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2021,7 +1994,7 @@ static const union AnimCmd sAnim_LANTURN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_2[] = +static const union AnimCmd sAnim_Lanturn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2030,7 +2003,7 @@ static const union AnimCmd sAnim_LANTURN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_1[] = +static const union AnimCmd sAnim_Pichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2040,7 +2013,7 @@ static const union AnimCmd sAnim_PICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_2[] = +static const union AnimCmd sAnim_Pichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2049,7 +2022,7 @@ static const union AnimCmd sAnim_PICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFFA_1[] = +static const union AnimCmd sAnim_Cleffa_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2058,7 +2031,7 @@ static const union AnimCmd sAnim_CLEFFA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_Igglybuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2068,7 +2041,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_Igglybuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2077,7 +2050,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEPI_1[] = +static const union AnimCmd sAnim_Togepi_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2085,7 +2058,7 @@ static const union AnimCmd sAnim_TOGEPI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGETIC_1[] = +static const union AnimCmd sAnim_Togetic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2093,7 +2066,7 @@ static const union AnimCmd sAnim_TOGETIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_1[] = +static const union AnimCmd sAnim_Natu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2103,7 +2076,7 @@ static const union AnimCmd sAnim_NATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_2[] = +static const union AnimCmd sAnim_Natu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2112,7 +2085,7 @@ static const union AnimCmd sAnim_NATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_1[] = +static const union AnimCmd sAnim_Xatu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2124,7 +2097,7 @@ static const union AnimCmd sAnim_XATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_2[] = +static const union AnimCmd sAnim_Xatu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2133,7 +2106,7 @@ static const union AnimCmd sAnim_XATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAREEP_1[] = +static const union AnimCmd sAnim_Mareep_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2144,16 +2117,17 @@ static const union AnimCmd sAnim_MAREEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAAFFY_1[] = +static const union AnimCmd sAnim_Flaaffy_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_AMPHAROS_1[] = +static const union AnimCmd sAnim_Ampharos_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2161,39 +2135,46 @@ static const union AnimCmd sAnim_AMPHAROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLOSSOM_1[] = +static const union AnimCmd sAnim_Bellossom_1[] = { - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_MARILL_1[] = +static const union AnimCmd sAnim_Marill_1[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 44), - ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; -static const union AnimCmd sAnim_AZUMARILL_1[] = +static const union AnimCmd sAnim_Azumarill_1[] = { - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 22), - ANIMCMD_FRAME(1, 22), - ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUDOWOODO_1[] = +static const union AnimCmd sAnim_Sudowoodo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2204,7 +2185,7 @@ static const union AnimCmd sAnim_SUDOWOODO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLITOED_1[] = +static const union AnimCmd sAnim_Politoed_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2215,7 +2196,7 @@ static const union AnimCmd sAnim_POLITOED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOPPIP_1[] = +static const union AnimCmd sAnim_Hoppip_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2224,7 +2205,7 @@ static const union AnimCmd sAnim_HOPPIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKIPLOOM_1[] = +static const union AnimCmd sAnim_Skiploom_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2237,7 +2218,7 @@ static const union AnimCmd sAnim_SKIPLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JUMPLUFF_1[] = +static const union AnimCmd sAnim_Jumpluff_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2248,23 +2229,25 @@ static const union AnimCmd sAnim_JUMPLUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AIPOM_1[] = +static const union AnimCmd sAnim_Aipom_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNKERN_1[] = +static const union AnimCmd sAnim_Sunkern_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNFLORA_1[] = +static const union AnimCmd sAnim_Sunflora_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2272,7 +2255,7 @@ static const union AnimCmd sAnim_SUNFLORA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YANMA_1[] = +static const union AnimCmd sAnim_Yanma_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2299,7 +2282,7 @@ static const union AnimCmd sAnim_YANMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOPER_1[] = +static const union AnimCmd sAnim_Wooper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2307,14 +2290,14 @@ static const union AnimCmd sAnim_WOOPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUAGSIRE_1[] = +static const union AnimCmd sAnim_Quagsire_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_ESPEON_1[] = +static const union AnimCmd sAnim_Espeon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2322,21 +2305,21 @@ static const union AnimCmd sAnim_ESPEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UMBREON_1[] = +static const union AnimCmd sAnim_Umbreon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MURKROW_1[] = +static const union AnimCmd sAnim_Murkrow_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWKING_1[] = +static const union AnimCmd sAnim_Slowking_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2344,7 +2327,7 @@ static const union AnimCmd sAnim_SLOWKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MISDREAVUS_1[] = +static const union AnimCmd sAnim_Misdreavus_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2359,7 +2342,7 @@ static const union AnimCmd sAnim_MISDREAVUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_1[] = +static const union AnimCmd sAnim_Unown_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2367,7 +2350,7 @@ static const union AnimCmd sAnim_UNOWN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_1[] = +static const union AnimCmd sAnim_Wobbuffet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2377,28 +2360,25 @@ static const union AnimCmd sAnim_WOBBUFFET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GIRAFARIG_1[] = +static const union AnimCmd sAnim_Wobbuffet_2[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRAFARIG_2[] = +static const union AnimCmd sAnim_Girafarig_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Girafarig_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2407,7 +2387,7 @@ static const union AnimCmd sAnim_GIRAFARIG_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINECO_1[] = +static const union AnimCmd sAnim_Pineco_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2420,7 +2400,7 @@ static const union AnimCmd sAnim_PINECO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FORRETRESS_1[] = +static const union AnimCmd sAnim_Forretress_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2429,7 +2409,7 @@ static const union AnimCmd sAnim_FORRETRESS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUNSPARCE_1[] = +static const union AnimCmd sAnim_Dunsparce_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2438,39 +2418,38 @@ static const union AnimCmd sAnim_DUNSPARCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLIGAR_1[] = +static const union AnimCmd sAnim_Gligar_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEELIX_1[] = +static const union AnimCmd sAnim_Steelix_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNUBBULL_1[] = +static const union AnimCmd sAnim_Snubbull_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRANBULL_1[] = +static const union AnimCmd sAnim_Granbull_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_QWILFISH_1[] = +static const union AnimCmd sAnim_Qwilfish_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2482,14 +2461,14 @@ static const union AnimCmd sAnim_QWILFISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCIZOR_1[] = +static const union AnimCmd sAnim_Scizor_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUCKLE_1[] = +static const union AnimCmd sAnim_Shuckle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2497,47 +2476,42 @@ static const union AnimCmd sAnim_SHUCKLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_1[] = +static const union AnimCmd sAnim_Heracross_1[] = { - ANIMCMD_FRAME(0, 11), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HERACROSS_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SNEASEL_1[] = -{ - ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_TEDDIURSA_1[] = +static const union AnimCmd sAnim_Sneasel_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Teddiursa_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSARING_1[] = +static const union AnimCmd sAnim_Ursaring_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_1[] = +static const union AnimCmd sAnim_Slugma_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2547,7 +2521,7 @@ static const union AnimCmd sAnim_SLUGMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_2[] = +static const union AnimCmd sAnim_Slugma_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2556,7 +2530,7 @@ static const union AnimCmd sAnim_SLUGMA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_1[] = +static const union AnimCmd sAnim_Magcargo_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2566,7 +2540,7 @@ static const union AnimCmd sAnim_MAGCARGO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_2[] = +static const union AnimCmd sAnim_Magcargo_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2575,7 +2549,7 @@ static const union AnimCmd sAnim_MAGCARGO_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWINUB_1[] = +static const union AnimCmd sAnim_Swinub_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2584,7 +2558,7 @@ static const union AnimCmd sAnim_SWINUB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PILOSWINE_1[] = +static const union AnimCmd sAnim_Piloswine_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2593,7 +2567,7 @@ static const union AnimCmd sAnim_PILOSWINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_1[] = +static const union AnimCmd sAnim_Corsola_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2603,7 +2577,7 @@ static const union AnimCmd sAnim_CORSOLA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_2[] = +static const union AnimCmd sAnim_Corsola_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2612,16 +2586,15 @@ static const union AnimCmd sAnim_CORSOLA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REMORAID_1[] = +static const union AnimCmd sAnim_Remoraid_1[] = { - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_OCTILLERY_1[] = +static const union AnimCmd sAnim_Octillery_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2630,16 +2603,14 @@ static const union AnimCmd sAnim_OCTILLERY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELIBIRD_1[] = +static const union AnimCmd sAnim_Delibird_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MANTINE_1[] = +static const union AnimCmd sAnim_Mantine_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2648,42 +2619,28 @@ static const union AnimCmd sAnim_MANTINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKARMORY_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SKARMORY_2[] = +static const union AnimCmd sAnim_Skarmory_1[] = { + ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOUR_1[] = +static const union AnimCmd sAnim_Houndour_1[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOOM_1[] = +static const union AnimCmd sAnim_Houndoom_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_1[] = +static const union AnimCmd sAnim_Kingdra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2693,7 +2650,7 @@ static const union AnimCmd sAnim_KINGDRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_2[] = +static const union AnimCmd sAnim_Kingdra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2702,7 +2659,7 @@ static const union AnimCmd sAnim_KINGDRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_1[] = +static const union AnimCmd sAnim_Phanpy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2714,7 +2671,7 @@ static const union AnimCmd sAnim_PHANPY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_2[] = +static const union AnimCmd sAnim_Phanpy_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2723,28 +2680,15 @@ static const union AnimCmd sAnim_PHANPY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_1[] = +static const union AnimCmd sAnim_Donphan_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PORYGON2_1[] = +static const union AnimCmd sAnim_Porygon2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2754,14 +2698,14 @@ static const union AnimCmd sAnim_PORYGON2_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STANTLER_1[] = +static const union AnimCmd sAnim_Stantler_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SMEARGLE_1[] = +static const union AnimCmd sAnim_Smeargle_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2770,14 +2714,14 @@ static const union AnimCmd sAnim_SMEARGLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYROGUE_1[] = +static const union AnimCmd sAnim_Tyrogue_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONTOP_1[] = +static const union AnimCmd sAnim_Hitmontop_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2793,114 +2737,116 @@ static const union AnimCmd sAnim_HITMONTOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SMOOCHUM_1[] = +static const union AnimCmd sAnim_Smoochum_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Elekid_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Magby_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ELEKID_1[] = +static const union AnimCmd sAnim_Miltank_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Blissey_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Raikou_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Entei_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Suicune_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Larvitar_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Pupitar_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tyranitar_1[] = { ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lugia_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MAGBY_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MILTANK_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BLISSEY_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RAIKOU_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ENTEI_1[] = +static const union AnimCmd sAnim_HoOh_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUICUNE_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LARVITAR_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PUPITAR_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TYRANITAR_1[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LUGIA_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HO_OH_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CELEBI_1[] = +static const union AnimCmd sAnim_Celebi_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2909,7 +2855,7 @@ static const union AnimCmd sAnim_CELEBI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OldUnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2917,16 +2863,17 @@ static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TREECKO_1[] = +static const union AnimCmd sAnim_Treecko_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 3), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_GROVYLE_1[] = +static const union AnimCmd sAnim_Grovyle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2936,7 +2883,7 @@ static const union AnimCmd sAnim_GROVYLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCEPTILE_1[] = +static const union AnimCmd sAnim_Sceptile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2944,7 +2891,7 @@ static const union AnimCmd sAnim_SCEPTILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORCHIC_1[] = +static const union AnimCmd sAnim_Torchic_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2956,14 +2903,15 @@ static const union AnimCmd sAnim_TORCHIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COMBUSKEN_1[] = +static const union AnimCmd sAnim_Combusken_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_BLAZIKEN_1[] = +static const union AnimCmd sAnim_Blaziken_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2973,7 +2921,7 @@ static const union AnimCmd sAnim_BLAZIKEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_2[] = +static const union AnimCmd sAnim_Blaziken_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2981,20 +2929,20 @@ static const union AnimCmd sAnim_BLAZIKEN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_3[] = +static const union AnimCmd sAnim_Blaziken_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_4[] = +static const union AnimCmd sAnim_Blaziken_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDKIP_1[] = +static const union AnimCmd sAnim_Mudkip_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3004,7 +2952,7 @@ static const union AnimCmd sAnim_MUDKIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARSHTOMP_1[] = +static const union AnimCmd sAnim_Marshtomp_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3018,7 +2966,7 @@ static const union AnimCmd sAnim_MARSHTOMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWAMPERT_1[] = +static const union AnimCmd sAnim_Swampert_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3028,7 +2976,7 @@ static const union AnimCmd sAnim_SWAMPERT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POOCHYENA_1[] = +static const union AnimCmd sAnim_Poochyena_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3036,7 +2984,7 @@ static const union AnimCmd sAnim_POOCHYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MIGHTYENA_1[] = +static const union AnimCmd sAnim_Mightyena_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3046,7 +2994,7 @@ static const union AnimCmd sAnim_MIGHTYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_Zigzagoon_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3056,7 +3004,7 @@ static const union AnimCmd sAnim_ZIGZAGOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LINOONE_1[] = +static const union AnimCmd sAnim_Linoone_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3066,7 +3014,7 @@ static const union AnimCmd sAnim_LINOONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WURMPLE_1[] = +static const union AnimCmd sAnim_Wurmple_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3074,7 +3022,7 @@ static const union AnimCmd sAnim_WURMPLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_1[] = +static const union AnimCmd sAnim_Silcoon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3082,13 +3030,13 @@ static const union AnimCmd sAnim_SILCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_2[] = +static const union AnimCmd sAnim_Silcoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_Beautifly_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3102,13 +3050,13 @@ static const union AnimCmd sAnim_BEAUTIFLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_Beautifly_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_1[] = +static const union AnimCmd sAnim_Cascoon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3118,13 +3066,13 @@ static const union AnimCmd sAnim_CASCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_2[] = +static const union AnimCmd sAnim_Cascoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_1[] = +static const union AnimCmd sAnim_Dustox_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3144,13 +3092,13 @@ static const union AnimCmd sAnim_DUSTOX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_2[] = +static const union AnimCmd sAnim_Dustox_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LOTAD_1[] = +static const union AnimCmd sAnim_Lotad_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3158,7 +3106,7 @@ static const union AnimCmd sAnim_LOTAD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOMBRE_1[] = +static const union AnimCmd sAnim_Lombre_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3168,7 +3116,7 @@ static const union AnimCmd sAnim_LOMBRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUDICOLO_1[] = +static const union AnimCmd sAnim_Ludicolo_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3180,7 +3128,7 @@ static const union AnimCmd sAnim_LUDICOLO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEDOT_1[] = +static const union AnimCmd sAnim_Seedot_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3194,7 +3142,7 @@ static const union AnimCmd sAnim_SEEDOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUZLEAF_1[] = +static const union AnimCmd sAnim_Nuzleaf_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3208,7 +3156,7 @@ static const union AnimCmd sAnim_NUZLEAF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIFTRY_1[] = +static const union AnimCmd sAnim_Shiftry_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3216,7 +3164,7 @@ static const union AnimCmd sAnim_SHIFTRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINCADA_1[] = +static const union AnimCmd sAnim_Nincada_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3226,7 +3174,7 @@ static const union AnimCmd sAnim_NINCADA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINJASK_1[] = +static const union AnimCmd sAnim_Ninjask_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3249,7 +3197,7 @@ static const union AnimCmd sAnim_NINJASK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHEDINJA_1[] = +static const union AnimCmd sAnim_Shedinja_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3259,7 +3207,7 @@ static const union AnimCmd sAnim_SHEDINJA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAILLOW_1[] = +static const union AnimCmd sAnim_Taillow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3273,7 +3221,7 @@ static const union AnimCmd sAnim_TAILLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWELLOW_1[] = +static const union AnimCmd sAnim_Swellow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3281,7 +3229,7 @@ static const union AnimCmd sAnim_SWELLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHROOMISH_1[] = +static const union AnimCmd sAnim_Shroomish_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3297,7 +3245,7 @@ static const union AnimCmd sAnim_SHROOMISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRELOOM_1[] = +static const union AnimCmd sAnim_Breloom_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3307,7 +3255,7 @@ static const union AnimCmd sAnim_BRELOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WINGULL_1[] = +static const union AnimCmd sAnim_Wingull_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3315,7 +3263,7 @@ static const union AnimCmd sAnim_WINGULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PELIPPER_1[] = +static const union AnimCmd sAnim_Pelipper_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3329,7 +3277,7 @@ static const union AnimCmd sAnim_PELIPPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_1[] = +static const union AnimCmd sAnim_Surskit_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3339,13 +3287,13 @@ static const union AnimCmd sAnim_SURSKIT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_2[] = +static const union AnimCmd sAnim_Surskit_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_1[] = +static const union AnimCmd sAnim_Masquerain_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3359,13 +3307,13 @@ static const union AnimCmd sAnim_MASQUERAIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_2[] = +static const union AnimCmd sAnim_Masquerain_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILMER_1[] = +static const union AnimCmd sAnim_Wailmer_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3377,7 +3325,7 @@ static const union AnimCmd sAnim_WAILMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILORD_1[] = +static const union AnimCmd sAnim_Wailord_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3385,7 +3333,7 @@ static const union AnimCmd sAnim_WAILORD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKITTY_1[] = +static const union AnimCmd sAnim_Skitty_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3393,7 +3341,7 @@ static const union AnimCmd sAnim_SKITTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELCATTY_1[] = +static const union AnimCmd sAnim_Delcatty_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3401,7 +3349,7 @@ static const union AnimCmd sAnim_DELCATTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KECLEON_1[] = +static const union AnimCmd sAnim_Kecleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3411,7 +3359,7 @@ static const union AnimCmd sAnim_KECLEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BALTOY_1[] = +static const union AnimCmd sAnim_Baltoy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3423,7 +3371,7 @@ static const union AnimCmd sAnim_BALTOY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAYDOL_1[] = +static const union AnimCmd sAnim_Claydol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3435,7 +3383,7 @@ static const union AnimCmd sAnim_CLAYDOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOSEPASS_1[] = +static const union AnimCmd sAnim_Nosepass_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3447,7 +3395,7 @@ static const union AnimCmd sAnim_NOSEPASS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORKOAL_1[] = +static const union AnimCmd sAnim_Torkoal_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3457,7 +3405,7 @@ static const union AnimCmd sAnim_TORKOAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SABLEYE_1[] = +static const union AnimCmd sAnim_Sableye_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3467,7 +3415,7 @@ static const union AnimCmd sAnim_SABLEYE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BARBOACH_1[] = +static const union AnimCmd sAnim_Barboach_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3485,7 +3433,7 @@ static const union AnimCmd sAnim_BARBOACH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISCASH_1[] = +static const union AnimCmd sAnim_Whiscash_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3503,7 +3451,7 @@ static const union AnimCmd sAnim_WHISCASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUVDISC_1[] = +static const union AnimCmd sAnim_Luvdisc_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3513,7 +3461,7 @@ static const union AnimCmd sAnim_LUVDISC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORPHISH_1[] = +static const union AnimCmd sAnim_Corphish_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3525,7 +3473,7 @@ static const union AnimCmd sAnim_CORPHISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_Crawdaunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3535,7 +3483,7 @@ static const union AnimCmd sAnim_CRAWDAUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEEBAS_1[] = +static const union AnimCmd sAnim_Feebas_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3547,7 +3495,7 @@ static const union AnimCmd sAnim_FEEBAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MILOTIC_1[] = +static const union AnimCmd sAnim_Milotic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3559,7 +3507,7 @@ static const union AnimCmd sAnim_MILOTIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARVANHA_1[] = +static const union AnimCmd sAnim_Carvanha_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3573,7 +3521,7 @@ static const union AnimCmd sAnim_CARVANHA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHARPEDO_1[] = +static const union AnimCmd sAnim_Sharpedo_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3587,7 +3535,7 @@ static const union AnimCmd sAnim_SHARPEDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TRAPINCH_1[] = +static const union AnimCmd sAnim_Trapinch_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3597,7 +3545,7 @@ static const union AnimCmd sAnim_TRAPINCH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIBRAVA_1[] = +static const union AnimCmd sAnim_Vibrava_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3609,7 +3557,7 @@ static const union AnimCmd sAnim_VIBRAVA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLYGON_1[] = +static const union AnimCmd sAnim_Flygon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3621,7 +3569,7 @@ static const union AnimCmd sAnim_FLYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAKUHITA_1[] = +static const union AnimCmd sAnim_Makuhita_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3635,7 +3583,7 @@ static const union AnimCmd sAnim_MAKUHITA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HARIYAMA_1[] = +static const union AnimCmd sAnim_Hariyama_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3644,7 +3592,7 @@ static const union AnimCmd sAnim_HARIYAMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRIKE_1[] = +static const union AnimCmd sAnim_Electrike_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3654,7 +3602,7 @@ static const union AnimCmd sAnim_ELECTRIKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANECTRIC_1[] = +static const union AnimCmd sAnim_Manectric_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3664,7 +3612,7 @@ static const union AnimCmd sAnim_MANECTRIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUMEL_1[] = +static const union AnimCmd sAnim_Numel_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3674,7 +3622,7 @@ static const union AnimCmd sAnim_NUMEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CAMERUPT_1[] = +static const union AnimCmd sAnim_Camerupt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3686,7 +3634,7 @@ static const union AnimCmd sAnim_CAMERUPT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPHEAL_1[] = +static const union AnimCmd sAnim_Spheal_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3699,7 +3647,7 @@ static const union AnimCmd sAnim_SPHEAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEALEO_1[] = +static const union AnimCmd sAnim_Sealeo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3709,7 +3657,7 @@ static const union AnimCmd sAnim_SEALEO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WALREIN_1[] = +static const union AnimCmd sAnim_Walrein_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3719,7 +3667,7 @@ static const union AnimCmd sAnim_WALREIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACNEA_1[] = +static const union AnimCmd sAnim_Cacnea_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3735,7 +3683,7 @@ static const union AnimCmd sAnim_CACNEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACTURNE_1[] = +static const union AnimCmd sAnim_Cacturne_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3745,7 +3693,7 @@ static const union AnimCmd sAnim_CACTURNE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORUNT_1[] = +static const union AnimCmd sAnim_Snorunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3755,7 +3703,7 @@ static const union AnimCmd sAnim_SNORUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLALIE_1[] = +static const union AnimCmd sAnim_Glalie_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3765,7 +3713,7 @@ static const union AnimCmd sAnim_GLALIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_1[] = +static const union AnimCmd sAnim_Lunatone_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3775,7 +3723,7 @@ static const union AnimCmd sAnim_LUNATONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_2[] = +static const union AnimCmd sAnim_Lunatone_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3784,7 +3732,7 @@ static const union AnimCmd sAnim_LUNATONE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_1[] = +static const union AnimCmd sAnim_Solrock_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3794,7 +3742,7 @@ static const union AnimCmd sAnim_SOLROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_2[] = +static const union AnimCmd sAnim_Solrock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3803,7 +3751,7 @@ static const union AnimCmd sAnim_SOLROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZURILL_1[] = +static const union AnimCmd sAnim_Azurill_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3815,7 +3763,7 @@ static const union AnimCmd sAnim_AZURILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPOINK_1[] = +static const union AnimCmd sAnim_Spoink_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3831,7 +3779,7 @@ static const union AnimCmd sAnim_SPOINK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRUMPIG_1[] = +static const union AnimCmd sAnim_Grumpig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3841,7 +3789,7 @@ static const union AnimCmd sAnim_GRUMPIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PLUSLE_1[] = +static const union AnimCmd sAnim_Plusle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3851,7 +3799,7 @@ static const union AnimCmd sAnim_PLUSLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MINUN_1[] = +static const union AnimCmd sAnim_Minun_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3861,7 +3809,7 @@ static const union AnimCmd sAnim_MINUN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAWILE_1[] = +static const union AnimCmd sAnim_Mawile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3873,7 +3821,7 @@ static const union AnimCmd sAnim_MAWILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDITITE_1[] = +static const union AnimCmd sAnim_Meditite_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3881,7 +3829,7 @@ static const union AnimCmd sAnim_MEDITITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDICHAM_1[] = +static const union AnimCmd sAnim_Medicham_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3893,7 +3841,7 @@ static const union AnimCmd sAnim_MEDICHAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_1[] = +static const union AnimCmd sAnim_Swablu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3905,7 +3853,7 @@ static const union AnimCmd sAnim_SWABLU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_2[] = +static const union AnimCmd sAnim_Swablu_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3916,7 +3864,7 @@ static const union AnimCmd sAnim_SWABLU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_1[] = +static const union AnimCmd sAnim_Altaria_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3926,7 +3874,7 @@ static const union AnimCmd sAnim_ALTARIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_2[] = +static const union AnimCmd sAnim_Altaria_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3935,7 +3883,7 @@ static const union AnimCmd sAnim_ALTARIA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WYNAUT_1[] = +static const union AnimCmd sAnim_Wynaut_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3945,7 +3893,7 @@ static const union AnimCmd sAnim_WYNAUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSKULL_1[] = +static const union AnimCmd sAnim_Duskull_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3955,7 +3903,7 @@ static const union AnimCmd sAnim_DUSKULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSCLOPS_1[] = +static const union AnimCmd sAnim_Dusclops_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3965,7 +3913,7 @@ static const union AnimCmd sAnim_DUSCLOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROSELIA_1[] = +static const union AnimCmd sAnim_Roselia_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3973,7 +3921,7 @@ static const union AnimCmd sAnim_ROSELIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKOTH_1[] = +static const union AnimCmd sAnim_Slakoth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3984,7 +3932,7 @@ static const union AnimCmd sAnim_SLAKOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIGOROTH_1[] = +static const union AnimCmd sAnim_Vigoroth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3996,7 +3944,7 @@ static const union AnimCmd sAnim_VIGOROTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKING_1[] = +static const union AnimCmd sAnim_Slaking_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4008,7 +3956,7 @@ static const union AnimCmd sAnim_SLAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GULPIN_1[] = +static const union AnimCmd sAnim_Gulpin_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4018,7 +3966,7 @@ static const union AnimCmd sAnim_GULPIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWALOT_1[] = +static const union AnimCmd sAnim_Swalot_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4027,7 +3975,7 @@ static const union AnimCmd sAnim_SWALOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TROPIUS_1[] = +static const union AnimCmd sAnim_Tropius_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4037,7 +3985,7 @@ static const union AnimCmd sAnim_TROPIUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISMUR_1[] = +static const union AnimCmd sAnim_Whismur_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4052,7 +4000,7 @@ static const union AnimCmd sAnim_WHISMUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOUDRED_1[] = +static const union AnimCmd sAnim_Loudred_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4062,7 +4010,7 @@ static const union AnimCmd sAnim_LOUDRED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXPLOUD_1[] = +static const union AnimCmd sAnim_Exploud_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4070,7 +4018,7 @@ static const union AnimCmd sAnim_EXPLOUD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAMPERL_1[] = +static const union AnimCmd sAnim_Clamperl_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4080,7 +4028,7 @@ static const union AnimCmd sAnim_CLAMPERL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HUNTAIL_1[] = +static const union AnimCmd sAnim_Huntail_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4090,7 +4038,7 @@ static const union AnimCmd sAnim_HUNTAIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOREBYSS_1[] = +static const union AnimCmd sAnim_Gorebyss_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4100,7 +4048,7 @@ static const union AnimCmd sAnim_GOREBYSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ABSOL_1[] = +static const union AnimCmd sAnim_Absol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4110,7 +4058,7 @@ static const union AnimCmd sAnim_ABSOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUPPET_1[] = +static const union AnimCmd sAnim_Shuppet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4122,7 +4070,7 @@ static const union AnimCmd sAnim_SHUPPET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BANETTE_1[] = +static const union AnimCmd sAnim_Banette_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4134,7 +4082,7 @@ static const union AnimCmd sAnim_BANETTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEVIPER_1[] = +static const union AnimCmd sAnim_Seviper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4146,7 +4094,7 @@ static const union AnimCmd sAnim_SEVIPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZANGOOSE_1[] = +static const union AnimCmd sAnim_Zangoose_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4158,7 +4106,7 @@ static const union AnimCmd sAnim_ZANGOOSE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RELICANTH_1[] = +static const union AnimCmd sAnim_Relicanth_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4168,7 +4116,7 @@ static const union AnimCmd sAnim_RELICANTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARON_1[] = +static const union AnimCmd sAnim_Aron_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4178,7 +4126,7 @@ static const union AnimCmd sAnim_ARON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAIRON_1[] = +static const union AnimCmd sAnim_Lairon_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4188,7 +4136,7 @@ static const union AnimCmd sAnim_LAIRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AGGRON_1[] = +static const union AnimCmd sAnim_Aggron_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4196,31 +4144,31 @@ static const union AnimCmd sAnim_AGGRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_0[] = +static const union AnimCmd sAnim_Castform_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_1[] = +static const union AnimCmd sAnim_Castform_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_2[] = +static const union AnimCmd sAnim_Castform_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_3[] = +static const union AnimCmd sAnim_Castform_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLBEAT_1[] = +static const union AnimCmd sAnim_Volbeat_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4232,7 +4180,7 @@ static const union AnimCmd sAnim_VOLBEAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ILLUMISE_1[] = +static const union AnimCmd sAnim_Illumise_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4242,7 +4190,7 @@ static const union AnimCmd sAnim_ILLUMISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LILEEP_1[] = +static const union AnimCmd sAnim_Lileep_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4252,7 +4200,7 @@ static const union AnimCmd sAnim_LILEEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRADILY_1[] = +static const union AnimCmd sAnim_Cradily_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4264,7 +4212,7 @@ static const union AnimCmd sAnim_CRADILY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ANORITH_1[] = +static const union AnimCmd sAnim_Anorith_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4276,7 +4224,7 @@ static const union AnimCmd sAnim_ANORITH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARMALDO_1[] = +static const union AnimCmd sAnim_Armaldo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4286,7 +4234,7 @@ static const union AnimCmd sAnim_ARMALDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RALTS_1[] = +static const union AnimCmd sAnim_Ralts_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4294,7 +4242,7 @@ static const union AnimCmd sAnim_RALTS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KIRLIA_1[] = +static const union AnimCmd sAnim_Kirlia_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4302,25 +4250,15 @@ static const union AnimCmd sAnim_KIRLIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GARDEVOIR_1[] = +static const union AnimCmd sAnim_Gardevoir_1[] = { - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_BAGON_1[] = +static const union AnimCmd sAnim_Bagon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4330,7 +4268,7 @@ static const union AnimCmd sAnim_BAGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELGON_1[] = +static const union AnimCmd sAnim_Shelgon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4340,7 +4278,7 @@ static const union AnimCmd sAnim_SHELGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAMENCE_1[] = +static const union AnimCmd sAnim_Salamence_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4350,7 +4288,7 @@ static const union AnimCmd sAnim_SALAMENCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELDUM_1[] = +static const union AnimCmd sAnim_Beldum_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4360,7 +4298,7 @@ static const union AnimCmd sAnim_BELDUM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METANG_1[] = +static const union AnimCmd sAnim_Metang_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4370,7 +4308,7 @@ static const union AnimCmd sAnim_METANG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAGROSS_1[] = +static const union AnimCmd sAnim_Metagross_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4380,7 +4318,7 @@ static const union AnimCmd sAnim_METAGROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_1[] = +static const union AnimCmd sAnim_Regirock_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4390,7 +4328,7 @@ static const union AnimCmd sAnim_REGIROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_2[] = +static const union AnimCmd sAnim_Regirock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4399,7 +4337,7 @@ static const union AnimCmd sAnim_REGIROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGICE_1[] = +static const union AnimCmd sAnim_Regice_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4409,7 +4347,7 @@ static const union AnimCmd sAnim_REGICE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_1[] = +static const union AnimCmd sAnim_Registeel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4419,7 +4357,7 @@ static const union AnimCmd sAnim_REGISTEEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_2[] = +static const union AnimCmd sAnim_Registeel_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4428,7 +4366,7 @@ static const union AnimCmd sAnim_REGISTEEL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_1[] = +static const union AnimCmd sAnim_Kyogre_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4438,7 +4376,7 @@ static const union AnimCmd sAnim_KYOGRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_2[] = +static const union AnimCmd sAnim_Kyogre_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4447,7 +4385,7 @@ static const union AnimCmd sAnim_KYOGRE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_1[] = +static const union AnimCmd sAnim_Groudon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4457,7 +4395,7 @@ static const union AnimCmd sAnim_GROUDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_2[] = +static const union AnimCmd sAnim_Groudon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4466,7 +4404,7 @@ static const union AnimCmd sAnim_GROUDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_1[] = +static const union AnimCmd sAnim_Rayquaza_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4476,7 +4414,7 @@ static const union AnimCmd sAnim_RAYQUAZA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_2[] = +static const union AnimCmd sAnim_Rayquaza_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4485,7 +4423,7 @@ static const union AnimCmd sAnim_RAYQUAZA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_1[] = +static const union AnimCmd sAnim_Latias_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4495,7 +4433,7 @@ static const union AnimCmd sAnim_LATIAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_2[] = +static const union AnimCmd sAnim_Latias_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4504,7 +4442,7 @@ static const union AnimCmd sAnim_LATIAS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_1[] = +static const union AnimCmd sAnim_Latios_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4514,7 +4452,7 @@ static const union AnimCmd sAnim_LATIOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_2[] = +static const union AnimCmd sAnim_Latios_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4523,7 +4461,7 @@ static const union AnimCmd sAnim_LATIOS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_1[] = +static const union AnimCmd sAnim_Jirachi_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4538,7 +4476,7 @@ static const union AnimCmd sAnim_JIRACHI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_2[] = +static const union AnimCmd sAnim_Jirachi_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4547,7 +4485,7 @@ static const union AnimCmd sAnim_JIRACHI_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_1[] = +static const union AnimCmd sAnim_Deoxys_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4557,7 +4495,7 @@ static const union AnimCmd sAnim_DEOXYS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_2[] = +static const union AnimCmd sAnim_Deoxys_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4566,7 +4504,7 @@ static const union AnimCmd sAnim_DEOXYS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIMECHO_1[] = +static const union AnimCmd sAnim_Chimecho_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4580,7 +4518,7 @@ static const union AnimCmd sAnim_CHIMECHO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EGG_1[] = +static const union AnimCmd sAnim_Egg_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4589,7 +4527,7 @@ static const union AnimCmd sAnim_EGG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_B_1[] = +static const union AnimCmd sAnim_UnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4597,7 +4535,7 @@ static const union AnimCmd sAnim_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_C_1[] = +static const union AnimCmd sAnim_UnownC_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4605,7 +4543,7 @@ static const union AnimCmd sAnim_UNOWN_C_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_D_1[] = +static const union AnimCmd sAnim_UnownD_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4613,7 +4551,7 @@ static const union AnimCmd sAnim_UNOWN_D_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_E_1[] = +static const union AnimCmd sAnim_UnownE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4621,7 +4559,7 @@ static const union AnimCmd sAnim_UNOWN_E_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_F_1[] = +static const union AnimCmd sAnim_UnownF_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4629,7 +4567,7 @@ static const union AnimCmd sAnim_UNOWN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_G_1[] = +static const union AnimCmd sAnim_UnownG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4637,7 +4575,7 @@ static const union AnimCmd sAnim_UNOWN_G_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_H_1[] = +static const union AnimCmd sAnim_UnownH_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4645,7 +4583,7 @@ static const union AnimCmd sAnim_UNOWN_H_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_I_1[] = +static const union AnimCmd sAnim_UnownI_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4653,7 +4591,7 @@ static const union AnimCmd sAnim_UNOWN_I_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_J_1[] = +static const union AnimCmd sAnim_UnownJ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4661,7 +4599,7 @@ static const union AnimCmd sAnim_UNOWN_J_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_K_1[] = +static const union AnimCmd sAnim_UnownK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4669,7 +4607,7 @@ static const union AnimCmd sAnim_UNOWN_K_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_L_1[] = +static const union AnimCmd sAnim_UnownL_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4677,7 +4615,7 @@ static const union AnimCmd sAnim_UNOWN_L_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_M_1[] = +static const union AnimCmd sAnim_UnownM_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4685,7 +4623,7 @@ static const union AnimCmd sAnim_UNOWN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_N_1[] = +static const union AnimCmd sAnim_UnownN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4693,7 +4631,7 @@ static const union AnimCmd sAnim_UNOWN_N_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_O_1[] = +static const union AnimCmd sAnim_UnownO_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4701,7 +4639,7 @@ static const union AnimCmd sAnim_UNOWN_O_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_P_1[] = +static const union AnimCmd sAnim_UnownP_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4709,7 +4647,7 @@ static const union AnimCmd sAnim_UNOWN_P_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UnownQ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4717,7 +4655,7 @@ static const union AnimCmd sAnim_UNOWN_Q_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_R_1[] = +static const union AnimCmd sAnim_UnownR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4725,7 +4663,7 @@ static const union AnimCmd sAnim_UNOWN_R_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_S_1[] = +static const union AnimCmd sAnim_UnownS_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4733,7 +4671,7 @@ static const union AnimCmd sAnim_UNOWN_S_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_T_1[] = +static const union AnimCmd sAnim_UnownT_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4741,7 +4679,7 @@ static const union AnimCmd sAnim_UNOWN_T_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_U_1[] = +static const union AnimCmd sAnim_UnownU_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4749,7 +4687,7 @@ static const union AnimCmd sAnim_UNOWN_U_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_V_1[] = +static const union AnimCmd sAnim_UnownV_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4757,7 +4695,7 @@ static const union AnimCmd sAnim_UNOWN_V_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_W_1[] = +static const union AnimCmd sAnim_UnownW_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4765,7 +4703,7 @@ static const union AnimCmd sAnim_UNOWN_W_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_X_1[] = +static const union AnimCmd sAnim_UnownX_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4773,7 +4711,7 @@ static const union AnimCmd sAnim_UNOWN_X_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UnownY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4781,7 +4719,7 @@ static const union AnimCmd sAnim_UNOWN_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UnownZ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4789,7 +4727,7 @@ static const union AnimCmd sAnim_UNOWN_Z_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UnownEMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4797,7 +4735,7 @@ static const union AnimCmd sAnim_UNOWN_EMARK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UnownQMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4806,233 +4744,279 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_TURTWIG_1[] = +static const union AnimCmd sAnim_Turtwig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GROTLE_1[] = +static const union AnimCmd sAnim_Grotle_1[] = { - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Torterra_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Chimchar_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Monferno_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Infernape_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Piplup_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORTERRA_1[] = +static const union AnimCmd sAnim_Prinplup_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + + +static const union AnimCmd sAnim_Empoleon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIMCHAR_1[] = +static const union AnimCmd sAnim_Starly_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Staravia_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Staraptor_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bidoof_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bibarel_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bibarel_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Kricketot_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Kricketune_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Shinx_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + + +static const union AnimCmd sAnim_Luxio_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Luxray_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Luxray_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Budew_1[] = { ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Roserade_1[] = +{ ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MONFERNO_1[] = +static const union AnimCmd sAnim_Cranidos_1[] = { - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_INFERNAPE_1[] = +static const union AnimCmd sAnim_Rampardos_1[] = { - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIPLUP_1[] = +static const union AnimCmd sAnim_Shieldon_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PRINPLUP_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_EMPOLEON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_STARLY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_STARAVIA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_STARAPTOR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BIDOOF_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BIBAREL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KRICKETOT_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KRICKETUNE_1[] = -{ - ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHINX_1[] = + +static const union AnimCmd sAnim_Bastiodon_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUXIO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LUXRAY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BUDEW_1[] = -{ - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ROSERADE_1[] = +static const union AnimCmd sAnim_Burmy_1[] = { + ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRANIDOS_1[] = +static const union AnimCmd sAnim_Wormadam_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAMPARDOS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SHIELDON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BASTIODON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BURMY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WORMADAM_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MOTHIM_1[] = +static const union AnimCmd sAnim_Mothim_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -5050,7 +5034,7 @@ static const union AnimCmd sAnim_MOTHIM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COMBEE_1[] = +static const union AnimCmd sAnim_Combee_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 15), @@ -5062,532 +5046,733 @@ static const union AnimCmd sAnim_COMBEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VESPIQUEN_1[] = +static const union AnimCmd sAnim_Vespiquen_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -static const union AnimCmd sAnim_PACHIRISU_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; -static const union AnimCmd sAnim_BUIZEL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FLOATZEL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHERUBI_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHERRIM_NORMAL[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHERRIM_SUN[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SHELLOS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GASTRODON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AMBIPOM_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DRIFLOON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DRIFBLIM_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BUNEARY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LOPUNNY_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MISMAGIUS_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HONCHKROW_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GLAMEOW_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PURUGLY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHINGLING_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_STUNKY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SKUNTANK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BRONZOR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BRONZONG_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BONSLY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MIME_JR_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HAPPINY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHATOT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SPIRITOMB_1[] = +static const union AnimCmd sAnim_Pachirisu_1[] = { ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 60), - ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIBLE_1[] = +static const union AnimCmd sAnim_Buizel_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GABITE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GARCHOMP_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MUNCHLAX_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RIOLU_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LUCARIO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HIPPOPOTAS_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HIPPOWDON_1[] = -{ - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SKORUPI_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DRAPION_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CROAGUNK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TOXICROAK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CARNIVINE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FINNEON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LUMINEON_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MANTYKE_1[] = -{ - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SNOVER_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ABOMASNOW_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WEAVILE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MAGNEZONE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LICKILICKY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RHYPERIOR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TANGROWTH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ELECTIVIRE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MAGMORTAR_1[] = -{ - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TOGEKISS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_YANMEGA_1[] = -{ ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Floatzel_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_LEAFEON_1[] = +static const union AnimCmd sAnim_Cherubi_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + + +static const union AnimCmd sAnim_CherrimOvercast_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_CherrimOvercast_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_CherrimSunshine_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Shellos_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gastrodon_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Ambipom_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Drifloon_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Drifblim_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Buneary_1[] = { ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLACEON_1[] = + +static const union AnimCmd sAnim_Lopunny_1[] = { - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLISCOR_1[] = +static const union AnimCmd sAnim_Mismagius_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Honchkrow_1[] = +{ + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Glameow_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Purugly_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Chingling_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Stunky_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Skuntank_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bronzor_1[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bronzong_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bronzong_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Bonsly_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_MimeJr_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Happiny_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Chatot_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; +static const union AnimCmd sAnim_Spiritomb_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gible_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gabite_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Garchomp_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Munchlax_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Riolu_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lucario_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Hippopotas_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Hippowdon_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Skorupi_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Drapion_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAMOSWINE_1[] = +static const union AnimCmd sAnim_Croagunk_1[] = { + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Toxicroak_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Carnivine_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Finneon_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lumineon_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Mantyke_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Snover_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Abomasnow_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Weavile_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Magnezone_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lickilicky_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Rhyperior_1[] = +{ + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tangrowth_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Electivire_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Magmortar_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Togekiss_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Yanmega_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Leafeon_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Glaceon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gliscor_1[] = +{ + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Mamoswine_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; static const union AnimCmd sAnim_PORYGON_Z_1[] = { + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 40), ANIMCMD_END, }; -static const union AnimCmd sAnim_GALLADE_1[] = +static const union AnimCmd sAnim_Gallade_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_PROBOPASS_1[] = +static const union AnimCmd sAnim_Probopass_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSKNOIR_1[] = +static const union AnimCmd sAnim_Probopass_2[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_FROSLASS_1[] = +static const union AnimCmd sAnim_Dusknoir_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROTOM_1[] = +static const union AnimCmd sAnim_Froslass_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Rotom_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Rotom_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; @@ -5595,57 +5780,10 @@ static const union AnimCmd sAnim_RotomHeat_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_RotomFrost_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomFan_1[] = -{ - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_RotomMow_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; static const union AnimCmd sAnim_RotomWash_1[] = { @@ -5655,121 +5793,1382 @@ static const union AnimCmd sAnim_RotomWash_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UXIE_1[] = +static const union AnimCmd sAnim_RotomFrost_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MESPRIT_1[] = +static const union AnimCmd sAnim_RotomFan_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), ANIMCMD_END, }; -static const union AnimCmd sAnim_AZELF_1[] = +static const union AnimCmd sAnim_RotomMow_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIALGA_1[] = +static const union AnimCmd sAnim_Uxie_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALKIA_1[] = +static const union AnimCmd sAnim_Mesprit_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_HEATRAN_1[] = +static const union AnimCmd sAnim_Azelf_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIGIGAS_1[] = +static const union AnimCmd sAnim_Dialga_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRATINA_1[] = +static const union AnimCmd sAnim_Palkia_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRESSELIA_1[] = +static const union AnimCmd sAnim_Heatran_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PHIONE_1[] = +static const union AnimCmd sAnim_Regigigas_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_MANAPHY_1[] = +static const union AnimCmd sAnim_Giratina_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARKRAI_1[] = +static const union AnimCmd sAnim_Cresselia_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHAYMIN_1[] = +static const union AnimCmd sAnim_Phione_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCEUS_1[] = +static const union AnimCmd sAnim_Manaphy_1[] = { - ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Darkrai_1[] = +{ + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Shaymin_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Arceus_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; #endif - #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_VICTINI_1[] = +static const union AnimCmd sAnim_Victini_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Snivy_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Servine_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Serperior_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Serperior_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tepig_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Pignite_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Emboar_1[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Oshawott_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Dewott_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Samurott_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Patrat_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Watchog_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0 , 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lillipup_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Herdier_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Stoutland_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Purrloin_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Liepard_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Pansage_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Simisage_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Pansear_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Simisear_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Simisear_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Panpour_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Simipour_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Munna_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Musharna_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Musharna_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Pidove_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tranquill_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Unfezant_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Blitzle_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Zebstrika_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Roggenrola_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Boldore_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gigalith_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Woobat_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Swoobat_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Drilbur_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Drilbur_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Excadrill_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Audino_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Timburr_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gurdurr_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Conkeldurr_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tympole_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Palpitoad_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Seismitoad_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Throh_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sawk_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sewaddle_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sewaddle_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Swadloon_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Leavanny_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Venipede_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Whirlipede_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Scolipede_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Cottonee_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Whimsicott_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Petilil_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lilligant_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Basculin_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sandile_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Krokorok_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Krookodile_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Krookodile_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Darumaka_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Darmanitan_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Maractus_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Dwebble_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Crustle_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Scraggy_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Scrafty_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sigilyph_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Yamask_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Cofagrigus_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tirtouga_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Carracosta_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Archen_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Archeops_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Trubbish_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Garbodor_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Zorua_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Zoroark_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Minccino_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Cinccino_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gothita_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gothorita_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gothorita_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Gothitelle_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Solosis_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Duosion_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Reuniclus_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Ducklett_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Swanna_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Vanillite_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Vanillish_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Vanilluxe_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Deerling_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Sawsbuck_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Emolga_1[] = +{ + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Karrablast_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Escavalier_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Foongus_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Foongus_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Amoonguss_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Frillish_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Jellicent_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Alomomola_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Joltik_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Galvantula_1[] = +{ + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Ferroseed_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Ferrothorn_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Ferrothorn_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Klink_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Klang_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Klinklang_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Tynamo_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Eelektrik_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Eelektross_1[] = +{ + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Elgyem_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Beheeyem_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Litwick_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Lampent_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Chandelure_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -5777,1248 +7176,462 @@ static const union AnimCmd sAnim_VICTINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNIVY_1[] = +static const union AnimCmd sAnim_Axew_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SERVINE_1[] = +static const union AnimCmd sAnim_Fraxure_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SERPERIOR_1[] = +static const union AnimCmd sAnim_Haxorus_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TEPIG_1[] = +static const union AnimCmd sAnim_Cubchoo_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIGNITE_1[] = +static const union AnimCmd sAnim_Beartic_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_EMBOAR_1[] = +static const union AnimCmd sAnim_Cryogonal_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_OSHAWOTT_1[] = +static const union AnimCmd sAnim_Cryogonal_2[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWOTT_1[] = +static const union AnimCmd sAnim_Shelmet_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SAMUROTT_1[] = +static const union AnimCmd sAnim_Accelgor_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_PATRAT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WATCHOG_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LILLIPUP_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HERDIER_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_STOUTLAND_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PURRLOIN_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LIEPARD_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PANSAGE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SIMISAGE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PANSEAR_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SIMISEAR_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PANPOUR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SIMIPOUR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MUNNA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MUSHARNA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PIDOVE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TRANQUILL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_UNFEZANT_1[] = +static const union AnimCmd sAnim_Stunfisk_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLITZLE_1[] = +static const union AnimCmd sAnim_Mienfoo_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZEBSTRIKA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ROGGENROLA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BOLDORE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GIGALITH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WOOBAT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SWOOBAT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DRILBUR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_EXCADRILL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AUDINO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TIMBURR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GURDURR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CONKELDURR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TYMPOLE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PALPITOAD_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SEISMITOAD_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_THROH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SAWK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SEWADDLE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SWADLOON_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LEAVANNY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_VENIPEDE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WHIRLIPEDE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SCOLIPEDE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_COTTONEE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_WHIMSICOTT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_PETILIL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LILLIGANT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BASCULIN_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SANDILE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KROKOROK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KROOKODILE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARUMAKA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DARMANITAN_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MARACTUS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DWEBBLE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CRUSTLE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SCRAGGY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SCRAFTY_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SIGILYPH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_YAMASK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_COFAGRIGUS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TIRTOUGA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CARRACOSTA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ARCHEN_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ARCHEOPS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TRUBBISH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GARBODOR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZORUA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ZOROARK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MINCCINO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CINCCINO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GOTHITA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GOTHORITA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GOTHITELLE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SOLOSIS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DUOSION_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_REUNICLUS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DUCKLETT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SWANNA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_VANILLITE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_VANILLISH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_VANILLUXE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_DEERLING_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SAWSBUCK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_EMOLGA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KARRABLAST_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ESCAVALIER_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FOONGUS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AMOONGUSS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FRILLISH_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_JELLICENT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ALOMOMOLA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_JOLTIK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_GALVANTULA_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FERROSEED_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FERROTHORN_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KLINK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KLANG_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_KLINKLANG_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_TYNAMO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_EELEKTRIK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_EELEKTROSS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ELGYEM_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BEHEEYEM_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LITWICK_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_LAMPENT_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CHANDELURE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_AXEW_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_FRAXURE_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_HAXORUS_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CUBCHOO_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_BEARTIC_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_CRYOGONAL_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_SHELMET_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_ACCELGOR_1[] = -{ - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUNFISK_1[] = +static const union AnimCmd sAnim_Mienshao_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIENFOO_1[] = +static const union AnimCmd sAnim_Druddigon_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIENSHAO_1[] = +static const union AnimCmd sAnim_Golett_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRUDDIGON_1[] = +static const union AnimCmd sAnim_Golurk_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLETT_1[] = +static const union AnimCmd sAnim_Pawniard_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLURK_1[] = +static const union AnimCmd sAnim_Bisharp_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_PAWNIARD_1[] = +static const union AnimCmd sAnim_Bouffalant_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_BISHARP_1[] = +static const union AnimCmd sAnim_Rufflet_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOUFFALANT_1[] = +static const union AnimCmd sAnim_Braviary_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_RUFFLET_1[] = +static const union AnimCmd sAnim_Vullaby_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAVIARY_1[] = +static const union AnimCmd sAnim_Mandibuzz_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_VULLABY_1[] = +static const union AnimCmd sAnim_Heatmor_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_MANDIBUZZ_1[] = +static const union AnimCmd sAnim_Durant_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; -static const union AnimCmd sAnim_HEATMOR_1[] = +static const union AnimCmd sAnim_Deino_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DURANT_1[] = +static const union AnimCmd sAnim_Zweilous_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEINO_1[] = +static const union AnimCmd sAnim_Hydreigon_1[] = { + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZWEILOUS_1[] = +static const union AnimCmd sAnim_Larvesta_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_HYDREIGON_1[] = +static const union AnimCmd sAnim_Volcarona_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; -static const union AnimCmd sAnim_LARVESTA_1[] = +static const union AnimCmd sAnim_Cobalion_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLCARONA_1[] = +static const union AnimCmd sAnim_Terrakion_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_COBALION_1[] = +static const union AnimCmd sAnim_Terrakion_2[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_TERRAKION_1[] = +static const union AnimCmd sAnim_Virizion_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_VIRIZION_1[] = +static const union AnimCmd sAnim_Tornadus_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORNADUS_1[] = +static const union AnimCmd sAnim_Thundurus_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; -static const union AnimCmd sAnim_THUNDURUS_1[] = +static const union AnimCmd sAnim_Reshiram_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_RESHIRAM_1[] = +static const union AnimCmd sAnim_Zekrom_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZEKROM_1[] = +static const union AnimCmd sAnim_Landorus_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; -static const union AnimCmd sAnim_LANDORUS_1[] = +static const union AnimCmd sAnim_Kyurem_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_1[] = +static const union AnimCmd sAnim_Keldeo_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_KELDEO_1[] = +static const union AnimCmd sAnim_Meloetta_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELOETTA_1[] = +static const union AnimCmd sAnim_Meloetta_2[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GENESECT_1[] = +static const union AnimCmd sAnim_Genesect_1[] = { - ANIMCMD_FRAME(0, 30), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; #endif - #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_CHESPIN_1[] = +static const union AnimCmd sAnim_Chespin_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 24), @@ -7028,789 +7641,1111 @@ static const union AnimCmd sAnim_CHESPIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILLADIN_1[] = +static const union AnimCmd sAnim_Quilladin_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHESNAUGHT_1[] = +static const union AnimCmd sAnim_Quilladin_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_FENNEKIN_1[] = +static const union AnimCmd sAnim_Chesnaught_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAIXEN_1[] = +static const union AnimCmd sAnim_Fennekin_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DELPHOX_1[] = +static const union AnimCmd sAnim_Braixen_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_FROAKIE_1[] = +static const union AnimCmd sAnim_Delphox_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_FROGADIER_1[] = +static const union AnimCmd sAnim_Froakie_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRENINJA_1[] = +static const union AnimCmd sAnim_Frogadier_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUNNELBY_1[] = +static const union AnimCmd sAnim_Greninja_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGGERSBY_1[] = +static const union AnimCmd sAnim_GreninjaAsh_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLETCHLING_1[] = +static const union AnimCmd sAnim_Bunnelby_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLETCHINDER_1[] = +static const union AnimCmd sAnim_Diggersby_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TALONFLAME_1[] = +static const union AnimCmd sAnim_Fletchling_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; +static const union AnimCmd sAnim_Fletchinder_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCATTERBUG_1[] = +static const union AnimCmd sAnim_Talonflame_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPEWPA_1[] = +static const union AnimCmd sAnim_Talonflame_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_VIVILLON_1[] = +static const union AnimCmd sAnim_Scatterbug_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_LITLEO_1[] = +static const union AnimCmd sAnim_Spewpa_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PYROAR_1[] = +static const union AnimCmd sAnim_Vivillon_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLABEBE_1[] = +static const union AnimCmd sAnim_Litleo_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLOETTE_1[] = +static const union AnimCmd sAnim_Pyroar_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLORGES_1[] = +static const union AnimCmd sAnim_Flabebe_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKIDDO_1[] = +static const union AnimCmd sAnim_Flabebe_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOGOAT_1[] = +static const union AnimCmd sAnim_Floette_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), ANIMCMD_END, }; -static const union AnimCmd sAnim_PANCHAM_1[] = +static const union AnimCmd sAnim_Florges_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PANGORO_1[] = +static const union AnimCmd sAnim_Florges_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_FURFROU_1[] = +static const union AnimCmd sAnim_Skiddo_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_ESPURR_1[] = +static const union AnimCmd sAnim_Gogoat_1[] = { ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWSTIC_1[] = +static const union AnimCmd sAnim_Pancham_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -static const union AnimCmd sAnim_HONEDGE_1[] = +static const union AnimCmd sAnim_Pangoro_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DOUBLADE_1[] = +static const union AnimCmd sAnim_Furfrou_1[] = { + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AEGISLASH_1[] = +static const union AnimCmd sAnim_Espurr_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPRITZEE_1[] = +static const union AnimCmd sAnim_Meowstic_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_AROMATISSE_1[] = +static const union AnimCmd sAnim_Honedge_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SWIRLIX_1[] = +static const union AnimCmd sAnim_Doublade_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLURPUFF_1[] = +static const union AnimCmd sAnim_Doublade_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_INKAY_1[] = +static const union AnimCmd sAnim_Aegislash_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MALAMAR_1[] = +static const union AnimCmd sAnim_Spritzee_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_BINACLE_1[] = +static const union AnimCmd sAnim_Aromatisse_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_BARBARACLE_1[] = +static const union AnimCmd sAnim_Swirlix_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKRELP_1[] = +static const union AnimCmd sAnim_Slurpuff_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGALGE_1[] = +static const union AnimCmd sAnim_Inkay_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAUNCHER_1[] = +static const union AnimCmd sAnim_Malamar_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAWITZER_1[] = +static const union AnimCmd sAnim_Binacle_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -static const union AnimCmd sAnim_HELIOPTILE_1[] = +static const union AnimCmd sAnim_Barbaracle_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_HELIOLISK_1[] = +static const union AnimCmd sAnim_Skrelp_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRUNT_1[] = +static const union AnimCmd sAnim_Dragalge_1[] = { + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANTRUM_1[] = +static const union AnimCmd sAnim_Clauncher_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_AMAURA_1[] = +static const union AnimCmd sAnim_Clawitzer_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), ANIMCMD_END, }; -static const union AnimCmd sAnim_AURORUS_1[] = +static const union AnimCmd sAnim_Helioptile_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SYLVEON_1[] = +static const union AnimCmd sAnim_Heliolisk_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_HAWLUCHA_1[] = +static const union AnimCmd sAnim_Tyrunt_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEDENNE_1[] = +static const union AnimCmd sAnim_Tyrantrum_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_CARBINK_1[] = +static const union AnimCmd sAnim_Amaura_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOOMY_1[] = +static const union AnimCmd sAnim_Aurorus_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLIGGOO_1[] = +static const union AnimCmd sAnim_Sylveon_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOODRA_1[] = +static const union AnimCmd sAnim_Hawlucha_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_KLEFKI_1[] = +static const union AnimCmd sAnim_Dedenne_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANTUMP_1[] = +static const union AnimCmd sAnim_Carbink_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TREVENANT_1[] = +static const union AnimCmd sAnim_Goomy_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_PUMPKABOO_1[] = +static const union AnimCmd sAnim_Sliggoo_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOURGEIST_1[] = +static const union AnimCmd sAnim_Goodra_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BERGMITE_1[] = +static const union AnimCmd sAnim_Klefki_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_AVALUGG_1[] = +static const union AnimCmd sAnim_Phantump_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_NOIBAT_1[] = +static const union AnimCmd sAnim_Trevenant_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_NOIVERN_1[] = +static const union AnimCmd sAnim_Pumpkaboo_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_XERNEAS_1[] = +static const union AnimCmd sAnim_Gourgeist_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_YVELTAL_1[] = +static const union AnimCmd sAnim_Bergmite_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_1[] = +static const union AnimCmd sAnim_Bergmite_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIANCIE_1[] = +static const union AnimCmd sAnim_Avalugg_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOPA_1[] = +static const union AnimCmd sAnim_Noibat_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLCANION_1[] = +static const union AnimCmd sAnim_Noivern_1[] = { + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Xerneas_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Yveltal_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; + +static const union AnimCmd sAnim_Zygarde_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Diancie_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Hoopa_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_Volcanion_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; #endif - #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_ROWLET_1[] = +static const union AnimCmd sAnim_Rowlet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARTRIX_1[] = +static const union AnimCmd sAnim_Dartrix_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DECIDUEYE_1[] = +static const union AnimCmd sAnim_Decidueye_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LITTEN_1[] = +static const union AnimCmd sAnim_Litten_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORRACAT_1[] = +static const union AnimCmd sAnim_Torracat_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INCINEROAR_1[] = +static const union AnimCmd sAnim_Incineroar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_POPPLIO_1[] = +static const union AnimCmd sAnim_Popplio_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRIONNE_1[] = +static const union AnimCmd sAnim_Brionne_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PRIMARINA_1[] = +static const union AnimCmd sAnim_Primarina_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKIPEK_1[] = +static const union AnimCmd sAnim_Pikipek_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TRUMBEAK_1[] = +static const union AnimCmd sAnim_Trumbeak_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOUCANNON_1[] = +static const union AnimCmd sAnim_Toucannon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YUNGOOS_1[] = +static const union AnimCmd sAnim_Yungoos_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GUMSHOOS_1[] = +static const union AnimCmd sAnim_Gumshoos_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRUBBIN_1[] = +static const union AnimCmd sAnim_Grubbin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARJABUG_1[] = +static const union AnimCmd sAnim_Charjabug_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VIKAVOLT_1[] = +static const union AnimCmd sAnim_Vikavolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRABRAWLER_1[] = +static const union AnimCmd sAnim_Crabrawler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRABOMINABLE_1[] = +static const union AnimCmd sAnim_Crabominable_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORICORIO_1[] = +static const union AnimCmd sAnim_Oricorio_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CUTIEFLY_1[] = +static const union AnimCmd sAnim_Cutiefly_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RIBOMBEE_1[] = +static const union AnimCmd sAnim_Ribombee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROCKRUFF_1[] = +static const union AnimCmd sAnim_Rockruff_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_1[] = +static const union AnimCmd sAnim_Lycanroc_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WISHIWASHI_1[] = +static const union AnimCmd sAnim_Wishiwashi_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAREANIE_1[] = +static const union AnimCmd sAnim_Mareanie_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXAPEX_1[] = +static const union AnimCmd sAnim_Toxapex_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDBRAY_1[] = +static const union AnimCmd sAnim_Mudbray_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDSDALE_1[] = +static const union AnimCmd sAnim_Mudsdale_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWPIDER_1[] = +static const union AnimCmd sAnim_Dewpider_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARAQUANID_1[] = +static const union AnimCmd sAnim_Araquanid_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FOMANTIS_1[] = +static const union AnimCmd sAnim_Fomantis_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LURANTIS_1[] = +static const union AnimCmd sAnim_Lurantis_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORELULL_1[] = +static const union AnimCmd sAnim_Morelull_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIINOTIC_1[] = +static const union AnimCmd sAnim_Shiinotic_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALANDIT_1[] = +static const union AnimCmd sAnim_Salandit_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAZZLE_1[] = +static const union AnimCmd sAnim_Salazzle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUFFUL_1[] = +static const union AnimCmd sAnim_Stufful_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEWEAR_1[] = +static const union AnimCmd sAnim_Bewear_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOUNSWEET_1[] = +static const union AnimCmd sAnim_Bounsweet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEENEE_1[] = +static const union AnimCmd sAnim_Steenee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TSAREENA_1[] = +static const union AnimCmd sAnim_Tsareena_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COMFEY_1[] = +static const union AnimCmd sAnim_Comfey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORANGURU_1[] = +static const union AnimCmd sAnim_Oranguru_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PASSIMIAN_1[] = +static const union AnimCmd sAnim_Passimian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WIMPOD_1[] = +static const union AnimCmd sAnim_Wimpod_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLISOPOD_1[] = +static const union AnimCmd sAnim_Golisopod_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDYGAST_1[] = +static const union AnimCmd sAnim_Sandygast_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALOSSAND_1[] = +static const union AnimCmd sAnim_Palossand_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PYUKUMUKU_1[] = +static const union AnimCmd sAnim_Pyukumuku_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPE_NULL_1[] = +static const union AnimCmd sAnim_TypeNull_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SILVALLY_1[] = +static const union AnimCmd sAnim_Silvally_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MINIOR_1[] = +static const union AnimCmd sAnim_Minior_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KOMALA_1[] = +static const union AnimCmd sAnim_Komala_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TURTONATOR_1[] = +static const union AnimCmd sAnim_Turtonator_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEDEMARU_1[] = +static const union AnimCmd sAnim_Togedemaru_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIMIKYU_1[] = +static const union AnimCmd sAnim_Mimikyu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRUXISH_1[] = +static const union AnimCmd sAnim_Bruxish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAMPA_1[] = +static const union AnimCmd sAnim_Drampa_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DHELMISE_1[] = +static const union AnimCmd sAnim_Dhelmise_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -7834,7 +8769,7 @@ static const union AnimCmd sAnim_KOMMO_O_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_KOKO_1[] = +static const union AnimCmd sAnim_TapuKoko_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 40), @@ -7846,7 +8781,7 @@ static const union AnimCmd sAnim_TAPU_KOKO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_LELE_1[] = +static const union AnimCmd sAnim_TapuLele_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -7854,7 +8789,7 @@ static const union AnimCmd sAnim_TAPU_LELE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_BULU_1[] = +static const union AnimCmd sAnim_TapuBulu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 40), @@ -7864,7 +8799,7 @@ static const union AnimCmd sAnim_TAPU_BULU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_FINI_1[] = +static const union AnimCmd sAnim_TapuFini_1[] = { ANIMCMD_FRAME(1, 60), ANIMCMD_FRAME(1, 60), @@ -7872,85 +8807,85 @@ static const union AnimCmd sAnim_TAPU_FINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COSMOG_1[] = +static const union AnimCmd sAnim_Cosmog_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COSMOEM_1[] = +static const union AnimCmd sAnim_Cosmoem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLGALEO_1[] = +static const union AnimCmd sAnim_Solgaleo_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNALA_1[] = +static const union AnimCmd sAnim_Lunala_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIHILEGO_1[] = +static const union AnimCmd sAnim_Nihilego_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUZZWOLE_1[] = +static const union AnimCmd sAnim_Buzzwole_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PHEROMOSA_1[] = +static const union AnimCmd sAnim_Pheromosa_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_XURKITREE_1[] = +static const union AnimCmd sAnim_Xurkitree_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CELESTEELA_1[] = +static const union AnimCmd sAnim_Celesteela_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KARTANA_1[] = +static const union AnimCmd sAnim_Kartana_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GUZZLORD_1[] = +static const union AnimCmd sAnim_Guzzlord_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NECROZMA_1[] = +static const union AnimCmd sAnim_Necrozma_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGEARNA_1[] = +static const union AnimCmd sAnim_Magearna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MARSHADOW_1[] = +static const union AnimCmd sAnim_Marshadow_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 54), @@ -7958,628 +8893,627 @@ static const union AnimCmd sAnim_MARSHADOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POIPOLE_1[] = +static const union AnimCmd sAnim_Poipole_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NAGANADEL_1[] = +static const union AnimCmd sAnim_Naganadel_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STAKATAKA_1[] = +static const union AnimCmd sAnim_Stakataka_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLACEPHALON_1[] = +static const union AnimCmd sAnim_Blacephalon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZERAORA_1[] = +static const union AnimCmd sAnim_Zeraora_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELTAN_1[] = +static const union AnimCmd sAnim_Meltan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELMETAL_1[] = +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[] = +static const union AnimCmd sAnim_Grookey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_THWACKEY_1[] = +static const union AnimCmd sAnim_Thwackey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RILLABOOM_1[] = +static const union AnimCmd sAnim_Rillaboom_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCORBUNNY_1[] = +static const union AnimCmd sAnim_Scorbunny_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RABOOT_1[] = +static const union AnimCmd sAnim_Raboot_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CINDERACE_1[] = +static const union AnimCmd sAnim_Cinderace_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SOBBLE_1[] = +static const union AnimCmd sAnim_Sobble_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRIZZILE_1[] = +static const union AnimCmd sAnim_Drizzile_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INTELEON_1[] = +static const union AnimCmd sAnim_Inteleon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKWOVET_1[] = +static const union AnimCmd sAnim_Skwovet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GREEDENT_1[] = +static const union AnimCmd sAnim_Greedent_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROOKIDEE_1[] = +static const union AnimCmd sAnim_Rookidee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORVISQUIRE_1[] = +static const union AnimCmd sAnim_Corvisquire_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORVIKNIGHT_1[] = +static const union AnimCmd sAnim_Corviknight_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLIPBUG_1[] = +static const union AnimCmd sAnim_Blipbug_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DOTTLER_1[] = +static const union AnimCmd sAnim_Dottler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORBEETLE_1[] = +static const union AnimCmd sAnim_Orbeetle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NICKIT_1[] = +static const union AnimCmd sAnim_Nickit_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_THIEVUL_1[] = +static const union AnimCmd sAnim_Thievul_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOSSIFLEUR_1[] = +static const union AnimCmd sAnim_Gossifleur_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ELDEGOSS_1[] = +static const union AnimCmd sAnim_Eldegoss_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOLOO_1[] = +static const union AnimCmd sAnim_Wooloo_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUBWOOL_1[] = +static const union AnimCmd sAnim_Dubwool_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHEWTLE_1[] = +static const union AnimCmd sAnim_Chewtle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DREDNAW_1[] = +static const union AnimCmd sAnim_Drednaw_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YAMPER_1[] = +static const union AnimCmd sAnim_Yamper_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOLTUND_1[] = +static const union AnimCmd sAnim_Boltund_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROLYCOLY_1[] = +static const union AnimCmd sAnim_Rolycoly_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CARKOL_1[] = +static const union AnimCmd sAnim_Carkol_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COALOSSAL_1[] = +static const union AnimCmd sAnim_Coalossal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_APPLIN_1[] = +static const union AnimCmd sAnim_Applin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAPPLE_1[] = +static const union AnimCmd sAnim_Flapple_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_APPLETUN_1[] = +static const union AnimCmd sAnim_Appletun_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SILICOBRA_1[] = +static const union AnimCmd sAnim_Silicobra_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDACONDA_1[] = +static const union AnimCmd sAnim_Sandaconda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRAMORANT_1[] = +static const union AnimCmd sAnim_Cramorant_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARROKUDA_1[] = +static const union AnimCmd sAnim_Arrokuda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BARRASKEWDA_1[] = +static const union AnimCmd sAnim_Barraskewda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXEL_1[] = +static const union AnimCmd sAnim_Toxel_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXTRICITY_1[] = +static const union AnimCmd sAnim_Toxtricity_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SIZZLIPEDE_1[] = +static const union AnimCmd sAnim_Sizzlipede_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CENTISKORCH_1[] = +static const union AnimCmd sAnim_Centiskorch_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CLOBBOPUS_1[] = +static const union AnimCmd sAnim_Clobbopus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAPPLOCT_1[] = +static const union AnimCmd sAnim_Grapploct_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SINISTEA_1[] = +static const union AnimCmd sAnim_Sinistea_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_POLTEAGEIST_1[] = +static const union AnimCmd sAnim_Polteageist_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATENNA_1[] = +static const union AnimCmd sAnim_Hatenna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATTREM_1[] = +static const union AnimCmd sAnim_Hattrem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATTERENE_1[] = +static const union AnimCmd sAnim_Hatterene_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_IMPIDIMP_1[] = +static const union AnimCmd sAnim_Impidimp_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORGREM_1[] = +static const union AnimCmd sAnim_Morgrem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMMSNARL_1[] = +static const union AnimCmd sAnim_Grimmsnarl_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_OBSTAGOON_1[] = +static const union AnimCmd sAnim_Obstagoon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PERRSERKER_1[] = +static const union AnimCmd sAnim_Perrserker_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CURSOLA_1[] = +static const union AnimCmd sAnim_Cursola_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SIRFETCHD_1[] = +static const union AnimCmd sAnim_Sirfetchd_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_RIME_1[] = +static const union AnimCmd sAnim_MrRime_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RUNERIGUS_1[] = +static const union AnimCmd sAnim_Runerigus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MILCERY_1[] = +static const union AnimCmd sAnim_Milcery_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALCREMIE_1[] = +static const union AnimCmd sAnim_Alcremie_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FALINKS_1[] = +static const union AnimCmd sAnim_Falinks_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINCURCHIN_1[] = +static const union AnimCmd sAnim_Pincurchin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNOM_1[] = +static const union AnimCmd sAnim_Snom_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FROSMOTH_1[] = +static const union AnimCmd sAnim_Frosmoth_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STONJOURNER_1[] = +static const union AnimCmd sAnim_Stonjourner_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_EISCUE_1[] = +static const union AnimCmd sAnim_Eiscue_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INDEEDEE_1[] = +static const union AnimCmd sAnim_Indeedee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORPEKO_1[] = +static const union AnimCmd sAnim_Morpeko_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CUFANT_1[] = +static const union AnimCmd sAnim_Cufant_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COPPERAJAH_1[] = +static const union AnimCmd sAnim_Copperajah_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRACOZOLT_1[] = +static const union AnimCmd sAnim_Dracozolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCTOZOLT_1[] = +static const union AnimCmd sAnim_Arctozolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRACOVISH_1[] = +static const union AnimCmd sAnim_Dracovish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCTOVISH_1[] = +static const union AnimCmd sAnim_Arctovish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DURALUDON_1[] = +static const union AnimCmd sAnim_Duraludon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DREEPY_1[] = +static const union AnimCmd sAnim_Dreepy_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAKLOAK_1[] = +static const union AnimCmd sAnim_Drakloak_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGAPULT_1[] = +static const union AnimCmd sAnim_Dragapult_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZACIAN_1[] = +static const union AnimCmd sAnim_Zacian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAMAZENTA_1[] = +static const union AnimCmd sAnim_Zamazenta_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ETERNATUS_1[] = +static const union AnimCmd sAnim_Eternatus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KUBFU_1[] = +static const union AnimCmd sAnim_Kubfu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSHIFU_1[] = +static const union AnimCmd sAnim_Urshifu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZARUDE_1[] = +static const union AnimCmd sAnim_Zarude_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIELEKI_1[] = +static const union AnimCmd sAnim_Regieleki_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIDRAGO_1[] = +static const union AnimCmd sAnim_Regidrago_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLASTRIER_1[] = +static const union AnimCmd sAnim_Glastrier_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPECTRIER_1[] = +static const union AnimCmd sAnim_Spectrier_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CALYREX_1[] = +static const union AnimCmd sAnim_Calyrex_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WYRDEER_1[] = +static const union AnimCmd sAnim_Wyrdeer_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KLEAVOR_1[] = +static const union AnimCmd sAnim_Kleavor_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSALUNA_1[] = +static const union AnimCmd sAnim_Ursaluna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BASCULEGION_1[] = +static const union AnimCmd sAnim_Basculegion_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASLER_1[] = +static const union AnimCmd sAnim_Sneasler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_OVERQWIL_1[] = +static const union AnimCmd sAnim_Overqwil_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ENAMORUS_1[] = +static const union AnimCmd sAnim_Enamorus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_VENUSAUR_MEGA_1[] = +static const union AnimCmd sAnim_VenusaurMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -8597,61 +9531,61 @@ static const union AnimCmd sAnim_CHARIZARD_MEGA_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLASTOISE_MEGA_1[] = +static const union AnimCmd sAnim_BlastoiseMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEEDRILL_MEGA_1[] = +static const union AnimCmd sAnim_BeedrillMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOT_MEGA_1[] = +static const union AnimCmd sAnim_PidgeotMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALAKAZAM_MEGA_1[] = +static const union AnimCmd sAnim_AlakazamMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_MEGA_1[] = +static const union AnimCmd sAnim_SlowbroMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GENGAR_MEGA_1[] = +static const union AnimCmd sAnim_GengarMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KANGASKHAN_MEGA_1[] = +static const union AnimCmd sAnim_KangaskhanMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_MEGA_1[] = +static const union AnimCmd sAnim_PinsirMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GYARADOS_MEGA_1[] = +static const union AnimCmd sAnim_GyaradosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AERODACTYL_MEGA_1[] = +static const union AnimCmd sAnim_AerodactylMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -8669,567 +9603,563 @@ static const union AnimCmd sAnim_MEWTWO_MEGA_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMPHAROS_MEGA_1[] = +static const union AnimCmd sAnim_AmpharosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEELIX_MEGA_1[] = +static const union AnimCmd sAnim_SteelixMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCIZOR_MEGA_1[] = +static const union AnimCmd sAnim_ScizorMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_MEGA_1[] = +static const union AnimCmd sAnim_HeracrossMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOOM_MEGA_1[] = +static const union AnimCmd sAnim_HoundoomMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANITAR_MEGA_1[] = +static const union AnimCmd sAnim_TyranitarMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCEPTILE_MEGA_1[] = +static const union AnimCmd sAnim_SceptileMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_MEGA_1[] = +static const union AnimCmd sAnim_BlazikenMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SWAMPERT_MEGA_1[] = +static const union AnimCmd sAnim_SwampertMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GARDEVOIR_MEGA_1[] = +static const union AnimCmd sAnim_GardevoirMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SABLEYE_MEGA_1[] = +static const union AnimCmd sAnim_SableyeMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAWILE_MEGA_1[] = +static const union AnimCmd sAnim_MawileMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AGGRON_MEGA_1[] = +static const union AnimCmd sAnim_AggronMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDICHAM_MEGA_1[] = +static const union AnimCmd sAnim_MedichamMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MANECTRIC_MEGA_1[] = +static const union AnimCmd sAnim_ManectricMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHARPEDO_MEGA_1[] = +static const union AnimCmd sAnim_SharpedoMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CAMERUPT_MEGA_1[] = +static const union AnimCmd sAnim_CameruptMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_MEGA_1[] = +static const union AnimCmd sAnim_AltariaMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BANETTE_MEGA_1[] = +static const union AnimCmd sAnim_BanetteMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABSOL_MEGA_1[] = +static const union AnimCmd sAnim_AbsolMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLALIE_MEGA_1[] = +static const union AnimCmd sAnim_GlalieMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAMENCE_MEGA_1[] = +static const union AnimCmd sAnim_SalamenceMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_METAGROSS_MEGA_1[] = +static const union AnimCmd sAnim_MetagrossMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_MEGA_1[] = +static const union AnimCmd sAnim_LatiasMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_MEGA_1[] = +static const union AnimCmd sAnim_LatiosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_PRIMAL_1[] = +static const union AnimCmd sAnim_KyogrePrimal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_PRIMAL_1[] = +static const union AnimCmd sAnim_GroudonPrimal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_MEGA_1[] = +static const union AnimCmd sAnim_RayquazaMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_LOPUNNY_MEGA_1[] = +static const union AnimCmd sAnim_LopunnyMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GARCHOMP_MEGA_1[] = +static const union AnimCmd sAnim_GarchompMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUCARIO_MEGA_1[] = +static const union AnimCmd sAnim_LucarioMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABOMASNOW_MEGA_1[] = +static const union AnimCmd sAnim_AbomasnowMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GALLADE_MEGA_1[] = +static const union AnimCmd sAnim_GalladeMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif - #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_AUDINO_MEGA_1[] = +static const union AnimCmd sAnim_AudinoMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif - #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_DIANCIE_MEGA_1[] = +static const union AnimCmd sAnim_DiancieMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_RATTATA_ALOLAN_1[] = +static const union AnimCmd sAnim_RattataAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RATICATE_ALOLAN_1[] = +static const union AnimCmd sAnim_RaticateAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_ALOLAN_1[] = +static const union AnimCmd sAnim_RaichuAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_ALOLAN_1[] = +static const union AnimCmd sAnim_SandshrewAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_ALOLAN_1[] = +static const union AnimCmd sAnim_SandslashAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_ALOLAN_1[] = +static const union AnimCmd sAnim_VulpixAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_ALOLAN_1[] = +static const union AnimCmd sAnim_NinetalesAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGLETT_ALOLAN_1[] = +static const union AnimCmd sAnim_DiglettAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUGTRIO_ALOLAN_1[] = +static const union AnimCmd sAnim_DugtrioAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_ALOLAN_1[] = +static const union AnimCmd sAnim_MeowthAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PERSIAN_ALOLAN_1[] = +static const union AnimCmd sAnim_PersianAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GEODUDE_ALOLAN_1[] = +static const union AnimCmd sAnim_GeodudeAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAVELER_ALOLAN_1[] = +static const union AnimCmd sAnim_GravelerAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLEM_ALOLAN_1[] = +static const union AnimCmd sAnim_GolemAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_ALOLAN_1[] = +static const union AnimCmd sAnim_GrimerAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_ALOLAN_1[] = +static const union AnimCmd sAnim_MukAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGUTOR_ALOLAN_1[] = +static const union AnimCmd sAnim_ExeggutorAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAROWAK_ALOLAN_1[] = +static const union AnimCmd sAnim_MarowakAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_GALARIAN_1[] = +static const union AnimCmd sAnim_MeowthGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PONYTA_GALARIAN_1[] = +static const union AnimCmd sAnim_PonytaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAPIDASH_GALARIAN_1[] = +static const union AnimCmd sAnim_RapidashGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWPOKE_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowpokeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowbroGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FARFETCHD_GALARIAN_1[] = +static const union AnimCmd sAnim_FarfetchdGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_GALARIAN_1[] = +static const union AnimCmd sAnim_WeezingGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_MIME_GALARIAN_1[] = +static const union AnimCmd sAnim_MrMimeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARTICUNO_GALARIAN_1[] = +static const union AnimCmd sAnim_ArticunoGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAPDOS_GALARIAN_1[] = +static const union AnimCmd sAnim_ZapdosGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MOLTRES_GALARIAN_1[] = +static const union AnimCmd sAnim_MoltresGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWKING_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowkingGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_GALARIAN_1[] = +static const union AnimCmd sAnim_CorsolaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZIGZAGOON_GALARIAN_1[] = +static const union AnimCmd sAnim_ZigzagoonGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LINOONE_GALARIAN_1[] = +static const union AnimCmd sAnim_LinooneGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_DARUMAKA_GALARIAN_1[] = +static const union AnimCmd sAnim_DarumakaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARMANITAN_GALARIAN_1[] = +static const union AnimCmd sAnim_DarmanitanGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YAMASK_GALARIAN_1[] = +static const union AnimCmd sAnim_YamaskGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUNFISK_GALARIAN_1[] = +static const union AnimCmd sAnim_StunfiskGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_GROWLITHE_HISUIAN_1[] = +static const union AnimCmd sAnim_GrowlitheHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCANINE_HISUIAN_1[] = +static const union AnimCmd sAnim_ArcanineHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLTORB_HISUIAN_1[] = +static const union AnimCmd sAnim_VoltorbHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRODE_HISUIAN_1[] = +static const union AnimCmd sAnim_ElectrodeHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPHLOSION_HISUIAN_1[] = +static const union AnimCmd sAnim_TyphlosionHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_QWILFISH_HISUIAN_1[] = +static const union AnimCmd sAnim_QwilfishHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASEL_HISUIAN_1[] = +static const union AnimCmd sAnim_SneaselHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_SAMUROTT_HISUIAN_1[] = +static const union AnimCmd sAnim_SamurottHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LILLIGANT_HISUIAN_1[] = +static const union AnimCmd sAnim_LilligantHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZORUA_HISUIAN_1[] = +static const union AnimCmd sAnim_ZoruaHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZOROARK_HISUIAN_1[] = +static const union AnimCmd sAnim_ZoroarkHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAVIARY_HISUIAN_1[] = +static const union AnimCmd sAnim_BraviaryHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif - #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_SLIGGOO_HISUIAN_1[] = +static const union AnimCmd sAnim_SliggooHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOODRA_HISUIAN_1[] = +static const union AnimCmd sAnim_GoodraHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AVALUGG_HISUIAN_1[] = +static const union AnimCmd sAnim_AvaluggHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif - #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_DECIDUEYE_HISUIAN_1[] = +static const union AnimCmd sAnim_DecidueyeHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_PIKACHU_COSPLAY_1[] = +static const union AnimCmd sAnim_PikachuCosplay_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ROCK_STAR_1[] = +static const union AnimCmd sAnim_PikachuRockStar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_BELLE_1[] = +static const union AnimCmd sAnim_PikachuBelle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_POP_STAR_1[] = +static const union AnimCmd sAnim_PikachuPopStar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -9241,66 +10171,66 @@ static const union AnimCmd sAnim_PIKACHU_PH_D_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_LIBRE_1[] = +static const union AnimCmd sAnim_PikachuLibre_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ORIGINAL_CAP_1[] = +static const union AnimCmd sAnim_PikachuOriginalCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_HOENN_CAP_1[] = +static const union AnimCmd sAnim_PikachuHoennCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_SINNOH_CAP_1[] = +static const union AnimCmd sAnim_PikachuSinnohCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_UNOVA_CAP_1[] = +static const union AnimCmd sAnim_PikachuUnovaCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_KALOS_CAP_1[] = +static const union AnimCmd sAnim_PikachuKalosCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ALOLA_CAP_1[] = +static const union AnimCmd sAnim_PikachuAlolaCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_PARTNER_CAP_1[] = +static const union AnimCmd sAnim_PikachuPartnerCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_WORLD_CAP_1[] = +static const union AnimCmd sAnim_PikachuWorldCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_SPIKY_EARED_1[] = +static const union AnimCmd sAnim_PichuSpikyEared_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = +static const union AnimCmd sAnim_DeoxysAttack_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -9310,7 +10240,7 @@ static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = +static const union AnimCmd sAnim_DeoxysAttack_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -9319,7 +10249,7 @@ static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = +static const union AnimCmd sAnim_DeoxysDefense_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -9329,7 +10259,7 @@ static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = +static const union AnimCmd sAnim_DeoxysDefense_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -9338,7 +10268,7 @@ static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = +static const union AnimCmd sAnim_DeoxysSpeed_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -9348,7 +10278,7 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = +static const union AnimCmd sAnim_DeoxysSpeed_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -9358,8027 +10288,2624 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = +static const union AnimCmd sAnim_ShayminSky_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DialgaOrigin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = +static const union AnimCmd sAnim_PalkiaOrigin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = +static const union AnimCmd sAnim_GiratinaOrigin_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = +static const union AnimCmd sAnim_GiratinaOrigin_2[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; #endif - #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = +static const union AnimCmd sAnim_DarmanitanZenMode_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DarmanitanZenModeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = +static const union AnimCmd sAnim_TornadusTherian_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = +static const union AnimCmd sAnim_ThundurusTherian_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = +static const union AnimCmd sAnim_LandorusTherian_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = +static const union AnimCmd sAnim_KyuremBlack_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_BLACK_1[] = +static const union AnimCmd sAnim_KyuremWhite_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_WHITE_1[] = +static const union AnimCmd sAnim_KeldeoResolute_1[] = { ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = +static const union AnimCmd sAnim_MeloettaPirouette_1[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = -{ - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; #endif - #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = +static const union AnimCmd sAnim_AegislashBlade_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_10_1[] = +static const union AnimCmd sAnim_Zygarde10_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = +static const union AnimCmd sAnim_ZygardeComplete_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = +static const union AnimCmd sAnim_HoopaUnbound_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; #endif - #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_MINIOR_CORE_1[] = +static const union AnimCmd sAnim_MiniorCore_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = +static const union AnimCmd sAnim_WishiwashiSchool_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = +static const union AnimCmd sAnim_MimikyuBusted_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = +static const union AnimCmd sAnim_LycanrocMidnight_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = +static const union AnimCmd sAnim_LycanrocDusk_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif - #if P_GEN_8_POKEMON == TRUE -static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = +static const union AnimCmd sAnim_EnamorusTherian_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[] = -{ - sAnim_GeneralFrame0, - sAnim_BULBASAUR_1, -}; - -static const union AnimCmd *const sAnims_IVYSAUR[] = -{ - sAnim_GeneralFrame0, - sAnim_IVYSAUR_1, -}; - -static const union AnimCmd *const sAnims_VENUSAUR[] = -{ - sAnim_GeneralFrame0, - sAnim_VENUSAUR_1, -}; - -static const union AnimCmd *const sAnims_CHARMANDER[] = -{ - sAnim_GeneralFrame0, - sAnim_CHARMANDER_1, -}; - -static const union AnimCmd *const sAnims_CHARMELEON[] = -{ - sAnim_GeneralFrame0, - sAnim_CHARMELEON_1, -}; - -static const union AnimCmd *const sAnims_CHARIZARD[] = -{ - sAnim_GeneralFrame0, - sAnim_CHARIZARD_1, -}; - -static const union AnimCmd *const sAnims_SQUIRTLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SQUIRTLE_1, -}; - -static const union AnimCmd *const sAnims_WARTORTLE[] = -{ - sAnim_GeneralFrame0, - sAnim_WARTORTLE_1, -}; - -static const union AnimCmd *const sAnims_BLASTOISE[] = -{ - sAnim_GeneralFrame0, - sAnim_BLASTOISE_1, -}; - -static const union AnimCmd *const sAnims_CATERPIE[] = -{ - sAnim_GeneralFrame0, - sAnim_CATERPIE_1, -}; - -static const union AnimCmd *const sAnims_METAPOD[] = -{ - sAnim_GeneralFrame0, - sAnim_METAPOD_1, -}; - -static const union AnimCmd *const sAnims_BUTTERFREE[] = -{ - sAnim_GeneralFrame0, - sAnim_BUTTERFREE_1, -}; - -static const union AnimCmd *const sAnims_WEEDLE[] = -{ - sAnim_GeneralFrame0, - sAnim_WEEDLE_1, -}; - -static const union AnimCmd *const sAnims_KAKUNA[] = -{ - sAnim_GeneralFrame0, - sAnim_KAKUNA_1, -}; - -static const union AnimCmd *const sAnims_BEEDRILL[] = -{ - sAnim_GeneralFrame0, - sAnim_BEEDRILL_1, -}; - -static const union AnimCmd *const sAnims_PIDGEY[] = -{ - sAnim_GeneralFrame0, - sAnim_PIDGEY_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOTTO[] = -{ - sAnim_GeneralFrame0, - sAnim_PIDGEOTTO_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOT[] = -{ - sAnim_GeneralFrame0, - sAnim_PIDGEOT_1, -}; - -static const union AnimCmd *const sAnims_RATTATA[] = -{ - sAnim_GeneralFrame0, - sAnim_RATTATA_1, -}; - -static const union AnimCmd *const sAnims_RATICATE[] = -{ - sAnim_GeneralFrame0, - sAnim_RATICATE_1, -}; - -static const union AnimCmd *const sAnims_SPEAROW[] = -{ - sAnim_GeneralFrame0, - sAnim_SPEAROW_1, -}; - -static const union AnimCmd *const sAnims_FEAROW[] = -{ - sAnim_GeneralFrame0, - sAnim_FEAROW_1, -}; - -static const union AnimCmd *const sAnims_EKANS[] = -{ - sAnim_GeneralFrame0, - sAnim_EKANS_1, -}; - -static const union AnimCmd *const sAnims_ARBOK[] = -{ - sAnim_GeneralFrame0, - sAnim_ARBOK_1, -}; - -static const union AnimCmd *const sAnims_PIKACHU[] = -{ - sAnim_GeneralFrame0, - sAnim_PIKACHU_1, - sAnim_PIKACHU_2, -}; - -static const union AnimCmd *const sAnims_RAICHU[] = -{ - sAnim_GeneralFrame0, - sAnim_RAICHU_1, - sAnim_RAICHU_2, -}; - -static const union AnimCmd *const sAnims_SANDSHREW[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDSHREW_1, - sAnim_SANDSHREW_2, -}; - -static const union AnimCmd *const sAnims_SANDSLASH[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDSLASH_1, - sAnim_SANDSLASH_2, -}; - -static const union AnimCmd *const sAnims_NIDORAN_F[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDORAN_F_1, -}; - -static const union AnimCmd *const sAnims_NIDORINA[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDORINA_1, -}; - -static const union AnimCmd *const sAnims_NIDOQUEEN[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDOQUEEN_1, -}; - -static const union AnimCmd *const sAnims_NIDORAN_M[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDORAN_M_1, -}; - -static const union AnimCmd *const sAnims_NIDORINO[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDORINO_1, -}; - -static const union AnimCmd *const sAnims_NIDOKING[] = -{ - sAnim_GeneralFrame0, - sAnim_NIDOKING_1, -}; - -static const union AnimCmd *const sAnims_CLEFAIRY[] = -{ - sAnim_GeneralFrame0, - sAnim_CLEFAIRY_1, -}; - -static const union AnimCmd *const sAnims_CLEFABLE[] = -{ - sAnim_GeneralFrame0, - sAnim_CLEFABLE_1, -}; - -static const union AnimCmd *const sAnims_VULPIX[] = -{ - sAnim_GeneralFrame0, - sAnim_VULPIX_1, - sAnim_VULPIX_2, -}; - -static const union AnimCmd *const sAnims_NINETALES[] = -{ - sAnim_GeneralFrame0, - sAnim_NINETALES_1, - sAnim_NINETALES_2, -}; - -static const union AnimCmd *const sAnims_JIGGLYPUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_JIGGLYPUFF_1, - sAnim_JIGGLYPUFF_2, -}; - -static const union AnimCmd *const sAnims_WIGGLYTUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_WIGGLYTUFF_1, - sAnim_WIGGLYTUFF_2, -}; - -static const union AnimCmd *const sAnims_ZUBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_ZUBAT_1, -}; - -static const union AnimCmd *const sAnims_GOLBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLBAT_1, -}; - -static const union AnimCmd *const sAnims_ODDISH[] = -{ - sAnim_GeneralFrame0, - sAnim_ODDISH_1, -}; - -static const union AnimCmd *const sAnims_GLOOM[] = -{ - sAnim_GeneralFrame0, - sAnim_GLOOM_1, -}; - -static const union AnimCmd *const sAnims_VILEPLUME[] = -{ - sAnim_GeneralFrame0, - sAnim_VILEPLUME_1, -}; - -static const union AnimCmd *const sAnims_PARAS[] = -{ - sAnim_GeneralFrame0, - sAnim_PARAS_1, -}; - -static const union AnimCmd *const sAnims_PARASECT[] = -{ - sAnim_GeneralFrame0, - sAnim_PARASECT_1, -}; - -static const union AnimCmd *const sAnims_VENONAT[] = -{ - sAnim_GeneralFrame0, - sAnim_VENONAT_1, -}; - -static const union AnimCmd *const sAnims_VENOMOTH[] = -{ - sAnim_GeneralFrame0, - sAnim_VENOMOTH_1, -}; - -static const union AnimCmd *const sAnims_DIGLETT[] = -{ - sAnim_GeneralFrame0, - sAnim_DIGLETT_1, -}; - -static const union AnimCmd *const sAnims_DUGTRIO[] = -{ - sAnim_GeneralFrame0, - sAnim_DUGTRIO_1, -}; - -static const union AnimCmd *const sAnims_MEOWTH[] = -{ - sAnim_GeneralFrame0, - sAnim_MEOWTH_1, -}; - -static const union AnimCmd *const sAnims_PERSIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_PERSIAN_1, -}; - -static const union AnimCmd *const sAnims_PSYDUCK[] = -{ - sAnim_GeneralFrame0, - sAnim_PSYDUCK_1, - sAnim_PSYDUCK_2, -}; - -static const union AnimCmd *const sAnims_GOLDUCK[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLDUCK_1, - sAnim_GOLDUCK_2, -}; - -static const union AnimCmd *const sAnims_MANKEY[] = -{ - sAnim_GeneralFrame0, - sAnim_MANKEY_1, -}; - -static const union AnimCmd *const sAnims_PRIMEAPE[] = -{ - sAnim_GeneralFrame0, - sAnim_PRIMEAPE_1, -}; - -static const union AnimCmd *const sAnims_GROWLITHE[] = -{ - sAnim_GeneralFrame0, - sAnim_GROWLITHE_1, -}; - -static const union AnimCmd *const sAnims_ARCANINE[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCANINE_1, -}; - -static const union AnimCmd *const sAnims_POLIWAG[] = -{ - sAnim_GeneralFrame0, - sAnim_POLIWAG_1, -}; - -static const union AnimCmd *const sAnims_POLIWHIRL[] = -{ - sAnim_GeneralFrame0, - sAnim_POLIWHIRL_1, -}; - -static const union AnimCmd *const sAnims_POLIWRATH[] = -{ - sAnim_GeneralFrame0, - sAnim_POLIWRATH_1, -}; - -static const union AnimCmd *const sAnims_ABRA[] = -{ - sAnim_GeneralFrame0, - sAnim_ABRA_1, -}; - -static const union AnimCmd *const sAnims_KADABRA[] = -{ - sAnim_GeneralFrame0, - sAnim_KADABRA_1, -}; - -static const union AnimCmd *const sAnims_ALAKAZAM[] = -{ - sAnim_GeneralFrame0, - sAnim_ALAKAZAM_1, -}; - -static const union AnimCmd *const sAnims_MACHOP[] = -{ - sAnim_GeneralFrame0, - sAnim_MACHOP_1, -}; - -static const union AnimCmd *const sAnims_MACHOKE[] = -{ - sAnim_GeneralFrame0, - sAnim_MACHOKE_1, -}; - -static const union AnimCmd *const sAnims_MACHAMP[] = -{ - sAnim_GeneralFrame0, - sAnim_MACHAMP_1, -}; - -static const union AnimCmd *const sAnims_BELLSPROUT[] = -{ - sAnim_GeneralFrame0, - sAnim_BELLSPROUT_1, -}; - -static const union AnimCmd *const sAnims_WEEPINBELL[] = -{ - sAnim_GeneralFrame0, - sAnim_WEEPINBELL_1, -}; - -static const union AnimCmd *const sAnims_VICTREEBEL[] = -{ - sAnim_GeneralFrame0, - sAnim_VICTREEBEL_1, -}; - -static const union AnimCmd *const sAnims_TENTACOOL[] = -{ - sAnim_GeneralFrame0, - sAnim_TENTACOOL_1, -}; - -static const union AnimCmd *const sAnims_TENTACRUEL[] = -{ - sAnim_GeneralFrame0, - sAnim_TENTACRUEL_1, -}; - -static const union AnimCmd *const sAnims_GEODUDE[] = -{ - sAnim_GeneralFrame0, - sAnim_GEODUDE_1, -}; - -static const union AnimCmd *const sAnims_GRAVELER[] = -{ - sAnim_GeneralFrame0, - sAnim_GRAVELER_1, -}; - -static const union AnimCmd *const sAnims_GOLEM[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLEM_1, -}; - -static const union AnimCmd *const sAnims_PONYTA[] = -{ - sAnim_GeneralFrame0, - sAnim_PONYTA_1, -}; - -static const union AnimCmd *const sAnims_RAPIDASH[] = -{ - sAnim_GeneralFrame0, - sAnim_RAPIDASH_1, -}; - -static const union AnimCmd *const sAnims_SLOWPOKE[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWPOKE_1, -}; - -static const union AnimCmd *const sAnims_SLOWBRO[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWBRO_1, -}; - -static const union AnimCmd *const sAnims_MAGNEMITE[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGNEMITE_1, -}; - -static const union AnimCmd *const sAnims_MAGNETON[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGNETON_1, -}; - -static const union AnimCmd *const sAnims_FARFETCHD[] = -{ - sAnim_GeneralFrame0, - sAnim_FARFETCHD_1, -}; - -static const union AnimCmd *const sAnims_DODUO[] = -{ - sAnim_GeneralFrame0, - sAnim_DODUO_1, -}; - -static const union AnimCmd *const sAnims_DODRIO[] = -{ - sAnim_GeneralFrame0, - sAnim_DODRIO_1, -}; - -static const union AnimCmd *const sAnims_SEEL[] = -{ - sAnim_GeneralFrame0, - sAnim_SEEL_1, -}; - -static const union AnimCmd *const sAnims_DEWGONG[] = -{ - sAnim_GeneralFrame0, - sAnim_DEWGONG_1, -}; - -static const union AnimCmd *const sAnims_GRIMER[] = -{ - sAnim_GeneralFrame0, - sAnim_GRIMER_1, - sAnim_GRIMER_2, -}; - -static const union AnimCmd *const sAnims_MUK[] = -{ - sAnim_GeneralFrame0, - sAnim_MUK_1, - sAnim_MUK_2, -}; - -static const union AnimCmd *const sAnims_SHELLDER[] = -{ - sAnim_GeneralFrame0, - sAnim_SHELLDER_1, -}; - -static const union AnimCmd *const sAnims_CLOYSTER[] = -{ - sAnim_GeneralFrame0, - sAnim_CLOYSTER_1, -}; - -static const union AnimCmd *const sAnims_GASTLY[] = -{ - sAnim_GeneralFrame0, - sAnim_GASTLY_1, -}; - -static const union AnimCmd *const sAnims_HAUNTER[] = -{ - sAnim_GeneralFrame0, - sAnim_HAUNTER_1, -}; - -static const union AnimCmd *const sAnims_GENGAR[] = -{ - sAnim_GeneralFrame0, - sAnim_GENGAR_1, -}; - -static const union AnimCmd *const sAnims_ONIX[] = -{ - sAnim_GeneralFrame0, - sAnim_ONIX_1, -}; - -static const union AnimCmd *const sAnims_DROWZEE[] = -{ - sAnim_GeneralFrame0, - sAnim_DROWZEE_1, -}; - -static const union AnimCmd *const sAnims_HYPNO[] = -{ - sAnim_GeneralFrame0, - sAnim_HYPNO_1, -}; - -static const union AnimCmd *const sAnims_KRABBY[] = -{ - sAnim_GeneralFrame0, - sAnim_KRABBY_1, -}; - -static const union AnimCmd *const sAnims_KINGLER[] = -{ - sAnim_GeneralFrame0, - sAnim_KINGLER_1, -}; - -static const union AnimCmd *const sAnims_VOLTORB[] = -{ - sAnim_GeneralFrame0, - sAnim_VOLTORB_1, -}; - -static const union AnimCmd *const sAnims_ELECTRODE[] = -{ - sAnim_GeneralFrame0, - sAnim_ELECTRODE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGCUTE[] = -{ - sAnim_GeneralFrame0, - sAnim_EXEGGCUTE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGUTOR[] = -{ - sAnim_GeneralFrame0, - sAnim_EXEGGUTOR_1, -}; - -static const union AnimCmd *const sAnims_CUBONE[] = -{ - sAnim_GeneralFrame0, - sAnim_CUBONE_1, -}; - -static const union AnimCmd *const sAnims_MAROWAK[] = -{ - sAnim_GeneralFrame0, - sAnim_MAROWAK_1, -}; - -static const union AnimCmd *const sAnims_HITMONLEE[] = -{ - sAnim_GeneralFrame0, - sAnim_HITMONLEE_1, -}; - -static const union AnimCmd *const sAnims_HITMONCHAN[] = -{ - sAnim_GeneralFrame0, - sAnim_HITMONCHAN_1, -}; - -static const union AnimCmd *const sAnims_LICKITUNG[] = -{ - sAnim_GeneralFrame0, - sAnim_LICKITUNG_1, -}; - -static const union AnimCmd *const sAnims_KOFFING[] = -{ - sAnim_GeneralFrame0, - sAnim_KOFFING_1, - sAnim_KOFFING_2, -}; - -static const union AnimCmd *const sAnims_WEEZING[] = -{ - sAnim_GeneralFrame0, - sAnim_WEEZING_1, - sAnim_WEEZING_2, -}; - -static const union AnimCmd *const sAnims_RHYHORN[] = -{ - sAnim_GeneralFrame0, - sAnim_RHYHORN_1, - sAnim_RHYHORN_2, -}; - -static const union AnimCmd *const sAnims_RHYDON[] = -{ - sAnim_GeneralFrame0, - sAnim_RHYDON_1, - sAnim_RHYDON_2, -}; - -static const union AnimCmd *const sAnims_CHANSEY[] = -{ - sAnim_GeneralFrame0, - sAnim_CHANSEY_1, -}; - -static const union AnimCmd *const sAnims_TANGELA[] = -{ - sAnim_GeneralFrame0, - sAnim_TANGELA_1, -}; - -static const union AnimCmd *const sAnims_KANGASKHAN[] = -{ - sAnim_GeneralFrame0, - sAnim_KANGASKHAN_1, -}; - -static const union AnimCmd *const sAnims_HORSEA[] = -{ - sAnim_GeneralFrame0, - sAnim_HORSEA_1, - sAnim_HORSEA_2, -}; - -static const union AnimCmd *const sAnims_SEADRA[] = -{ - sAnim_GeneralFrame0, - sAnim_SEADRA_1, - sAnim_SEADRA_2, -}; - -static const union AnimCmd *const sAnims_GOLDEEN[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLDEEN_1, -}; - -static const union AnimCmd *const sAnims_SEAKING[] = -{ - sAnim_GeneralFrame0, - sAnim_SEAKING_1, -}; - -static const union AnimCmd *const sAnims_STARYU[] = -{ - sAnim_GeneralFrame0, - sAnim_STARYU_1, - sAnim_STARYU_2, -}; - -static const union AnimCmd *const sAnims_STARMIE[] = -{ - sAnim_GeneralFrame0, - sAnim_STARMIE_1, - sAnim_STARMIE_2, -}; - -static const union AnimCmd *const sAnims_MR_MIME[] = -{ - sAnim_GeneralFrame0, - sAnim_MR_MIME_1, -}; - -static const union AnimCmd *const sAnims_SCYTHER[] = -{ - sAnim_GeneralFrame0, - sAnim_SCYTHER_1, -}; - -static const union AnimCmd *const sAnims_JYNX[] = -{ - sAnim_GeneralFrame0, - sAnim_JYNX_1, -}; - -static const union AnimCmd *const sAnims_ELECTABUZZ[] = -{ - sAnim_GeneralFrame0, - sAnim_ELECTABUZZ_1, -}; - -static const union AnimCmd *const sAnims_MAGMAR[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGMAR_1, -}; - -static const union AnimCmd *const sAnims_PINSIR[] = -{ - sAnim_GeneralFrame0, - sAnim_PINSIR_1, - sAnim_PINSIR_2, -}; - -static const union AnimCmd *const sAnims_TAUROS[] = -{ - sAnim_GeneralFrame0, - sAnim_TAUROS_1, -}; - -static const union AnimCmd *const sAnims_MAGIKARP[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGIKARP_1, -}; - -static const union AnimCmd *const sAnims_GYARADOS[] = -{ - sAnim_GeneralFrame0, - sAnim_GYARADOS_1, -}; - -static const union AnimCmd *const sAnims_LAPRAS[] = -{ - sAnim_GeneralFrame0, - sAnim_LAPRAS_1, -}; - -static const union AnimCmd *const sAnims_DITTO[] = -{ - sAnim_GeneralFrame0, - sAnim_DITTO_1, -}; - -static const union AnimCmd *const sAnims_EEVEE[] = -{ - sAnim_GeneralFrame0, - sAnim_EEVEE_1, -}; - -static const union AnimCmd *const sAnims_VAPOREON[] = -{ - sAnim_GeneralFrame0, - sAnim_VAPOREON_1, -}; - -static const union AnimCmd *const sAnims_JOLTEON[] = -{ - sAnim_GeneralFrame0, - sAnim_JOLTEON_1, -}; - -static const union AnimCmd *const sAnims_FLAREON[] = -{ - sAnim_GeneralFrame0, - sAnim_FLAREON_1, -}; - -static const union AnimCmd *const sAnims_PORYGON[] = -{ - sAnim_GeneralFrame0, - sAnim_PORYGON_1, -}; - -static const union AnimCmd *const sAnims_OMANYTE[] = -{ - sAnim_GeneralFrame0, - sAnim_OMANYTE_1, -}; - -static const union AnimCmd *const sAnims_OMASTAR[] = -{ - sAnim_GeneralFrame0, - sAnim_OMASTAR_1, -}; - -static const union AnimCmd *const sAnims_KABUTO[] = -{ - sAnim_GeneralFrame0, - sAnim_KABUTO_1, -}; - -static const union AnimCmd *const sAnims_KABUTOPS[] = -{ - sAnim_GeneralFrame0, - sAnim_KABUTOPS_1, -}; - -static const union AnimCmd *const sAnims_AERODACTYL[] = -{ - sAnim_GeneralFrame0, - sAnim_AERODACTYL_1, -}; - -static const union AnimCmd *const sAnims_SNORLAX[] = -{ - sAnim_GeneralFrame0, - sAnim_SNORLAX_1, -}; - -static const union AnimCmd *const sAnims_ARTICUNO[] = -{ - sAnim_GeneralFrame0, - sAnim_ARTICUNO_1, -}; - -static const union AnimCmd *const sAnims_ZAPDOS[] = -{ - sAnim_GeneralFrame0, - sAnim_ZAPDOS_1, -}; - -static const union AnimCmd *const sAnims_MOLTRES[] = -{ - sAnim_GeneralFrame0, - sAnim_MOLTRES_1, -}; - -static const union AnimCmd *const sAnims_DRATINI[] = -{ - sAnim_GeneralFrame0, - sAnim_DRATINI_1, -}; - -static const union AnimCmd *const sAnims_DRAGONAIR[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAGONAIR_1, -}; - -static const union AnimCmd *const sAnims_DRAGONITE[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAGONITE_1, -}; - -static const union AnimCmd *const sAnims_MEWTWO[] = -{ - sAnim_GeneralFrame0, - sAnim_MEWTWO_1, -}; - -static const union AnimCmd *const sAnims_MEW[] = -{ - sAnim_GeneralFrame0, - sAnim_MEW_1, -}; - -static const union AnimCmd *const sAnims_CHIKORITA[] = -{ - sAnim_GeneralFrame0, - sAnim_CHIKORITA_1, -}; - -static const union AnimCmd *const sAnims_BAYLEEF[] = -{ - sAnim_GeneralFrame0, - sAnim_BAYLEEF_1, -}; - -static const union AnimCmd *const sAnims_MEGANIUM[] = -{ - sAnim_GeneralFrame0, - sAnim_MEGANIUM_1, -}; - -static const union AnimCmd *const sAnims_CYNDAQUIL[] = -{ - sAnim_GeneralFrame0, - sAnim_CYNDAQUIL_1, -}; - -static const union AnimCmd *const sAnims_QUILAVA[] = -{ - sAnim_GeneralFrame0, - sAnim_QUILAVA_1, -}; - -static const union AnimCmd *const sAnims_TYPHLOSION[] = -{ - sAnim_GeneralFrame0, - sAnim_TYPHLOSION_1, -}; - -static const union AnimCmd *const sAnims_TOTODILE[] = -{ - sAnim_GeneralFrame0, - sAnim_TOTODILE_1, -}; - -static const union AnimCmd *const sAnims_CROCONAW[] = -{ - sAnim_GeneralFrame0, - sAnim_CROCONAW_1, -}; - -static const union AnimCmd *const sAnims_FERALIGATR[] = -{ - sAnim_GeneralFrame0, - sAnim_FERALIGATR_1, -}; - -static const union AnimCmd *const sAnims_SENTRET[] = -{ - sAnim_GeneralFrame0, - sAnim_SENTRET_1, -}; - -static const union AnimCmd *const sAnims_FURRET[] = -{ - sAnim_GeneralFrame0, - sAnim_FURRET_1, -}; - -static const union AnimCmd *const sAnims_HOOTHOOT[] = -{ - sAnim_GeneralFrame0, - sAnim_HOOTHOOT_1, -}; - -static const union AnimCmd *const sAnims_NOCTOWL[] = -{ - sAnim_GeneralFrame0, - sAnim_NOCTOWL_1, -}; - -static const union AnimCmd *const sAnims_LEDYBA[] = -{ - sAnim_GeneralFrame0, - sAnim_LEDYBA_1, -}; - -static const union AnimCmd *const sAnims_LEDIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_LEDIAN_1, -}; - -static const union AnimCmd *const sAnims_SPINARAK[] = -{ - sAnim_GeneralFrame0, - sAnim_SPINARAK_1, -}; - -static const union AnimCmd *const sAnims_ARIADOS[] = -{ - sAnim_GeneralFrame0, - sAnim_ARIADOS_1, -}; - -static const union AnimCmd *const sAnims_CROBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_CROBAT_1, -}; - -static const union AnimCmd *const sAnims_CHINCHOU[] = -{ - sAnim_GeneralFrame0, - sAnim_CHINCHOU_1, - sAnim_CHINCHOU_2, -}; - -static const union AnimCmd *const sAnims_LANTURN[] = -{ - sAnim_GeneralFrame0, - sAnim_LANTURN_1, - sAnim_LANTURN_2, -}; - -static const union AnimCmd *const sAnims_PICHU[] = -{ - sAnim_GeneralFrame0, - sAnim_PICHU_1, - sAnim_PICHU_2, -}; - -static const union AnimCmd *const sAnims_CLEFFA[] = -{ - sAnim_GeneralFrame0, - sAnim_CLEFFA_1, -}; - -static const union AnimCmd *const sAnims_IGGLYBUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_IGGLYBUFF_1, - sAnim_IGGLYBUFF_2, -}; - -static const union AnimCmd *const sAnims_TOGEPI[] = -{ - sAnim_GeneralFrame0, - sAnim_TOGEPI_1, -}; - -static const union AnimCmd *const sAnims_TOGETIC[] = -{ - sAnim_GeneralFrame0, - sAnim_TOGETIC_1, -}; - -static const union AnimCmd *const sAnims_NATU[] = -{ - sAnim_GeneralFrame0, - sAnim_NATU_1, - sAnim_NATU_2, -}; - -static const union AnimCmd *const sAnims_XATU[] = -{ - sAnim_GeneralFrame0, - sAnim_XATU_1, - sAnim_XATU_2, -}; - -static const union AnimCmd *const sAnims_MAREEP[] = -{ - sAnim_GeneralFrame0, - sAnim_MAREEP_1, -}; - -static const union AnimCmd *const sAnims_FLAAFFY[] = -{ - sAnim_GeneralFrame0, - sAnim_FLAAFFY_1, -}; - -static const union AnimCmd *const sAnims_AMPHAROS[] = -{ - sAnim_GeneralFrame0, - sAnim_AMPHAROS_1, -}; - -static const union AnimCmd *const sAnims_BELLOSSOM[] = -{ - sAnim_GeneralFrame0, - sAnim_BELLOSSOM_1, -}; - -static const union AnimCmd *const sAnims_MARILL[] = -{ - sAnim_GeneralFrame0, - sAnim_MARILL_1, -}; - -static const union AnimCmd *const sAnims_AZUMARILL[] = -{ - sAnim_GeneralFrame0, - sAnim_AZUMARILL_1, -}; - -static const union AnimCmd *const sAnims_SUDOWOODO[] = -{ - sAnim_GeneralFrame0, - sAnim_SUDOWOODO_1, -}; - -static const union AnimCmd *const sAnims_POLITOED[] = -{ - sAnim_GeneralFrame0, - sAnim_POLITOED_1, -}; - -static const union AnimCmd *const sAnims_HOPPIP[] = -{ - sAnim_GeneralFrame0, - sAnim_HOPPIP_1, -}; - -static const union AnimCmd *const sAnims_SKIPLOOM[] = -{ - sAnim_GeneralFrame0, - sAnim_SKIPLOOM_1, -}; - -static const union AnimCmd *const sAnims_JUMPLUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_JUMPLUFF_1, -}; - -static const union AnimCmd *const sAnims_AIPOM[] = -{ - sAnim_GeneralFrame0, - sAnim_AIPOM_1, -}; - -static const union AnimCmd *const sAnims_SUNKERN[] = -{ - sAnim_GeneralFrame0, - sAnim_SUNKERN_1, -}; - -static const union AnimCmd *const sAnims_SUNFLORA[] = -{ - sAnim_GeneralFrame0, - sAnim_SUNFLORA_1, -}; - -static const union AnimCmd *const sAnims_YANMA[] = -{ - sAnim_GeneralFrame0, - sAnim_YANMA_1, -}; - -static const union AnimCmd *const sAnims_WOOPER[] = -{ - sAnim_GeneralFrame0, - sAnim_WOOPER_1, -}; - -static const union AnimCmd *const sAnims_QUAGSIRE[] = -{ - sAnim_GeneralFrame0, - sAnim_QUAGSIRE_1, -}; - -static const union AnimCmd *const sAnims_ESPEON[] = -{ - sAnim_GeneralFrame0, - sAnim_ESPEON_1, -}; - -static const union AnimCmd *const sAnims_UMBREON[] = -{ - sAnim_GeneralFrame0, - sAnim_UMBREON_1, -}; - -static const union AnimCmd *const sAnims_MURKROW[] = -{ - sAnim_GeneralFrame0, - sAnim_MURKROW_1, -}; - -static const union AnimCmd *const sAnims_SLOWKING[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWKING_1, -}; - -static const union AnimCmd *const sAnims_MISDREAVUS[] = -{ - sAnim_GeneralFrame0, - sAnim_MISDREAVUS_1, -}; - -static const union AnimCmd *const sAnims_UNOWN[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_1, -}; - -static const union AnimCmd *const sAnims_WOBBUFFET[] = -{ - sAnim_GeneralFrame0, - sAnim_WOBBUFFET_1, - sAnim_WOBBUFFET_2, -}; - -static const union AnimCmd *const sAnims_GIRAFARIG[] = -{ - sAnim_GeneralFrame0, - sAnim_GIRAFARIG_1, - sAnim_GIRAFARIG_2, -}; - -static const union AnimCmd *const sAnims_PINECO[] = -{ - sAnim_GeneralFrame0, - sAnim_PINECO_1, -}; - -static const union AnimCmd *const sAnims_FORRETRESS[] = -{ - sAnim_GeneralFrame0, - sAnim_FORRETRESS_1, -}; - -static const union AnimCmd *const sAnims_DUNSPARCE[] = -{ - sAnim_GeneralFrame0, - sAnim_DUNSPARCE_1, -}; - -static const union AnimCmd *const sAnims_GLIGAR[] = -{ - sAnim_GeneralFrame0, - sAnim_GLIGAR_1, -}; - -static const union AnimCmd *const sAnims_STEELIX[] = -{ - sAnim_GeneralFrame0, - sAnim_STEELIX_1, -}; - -static const union AnimCmd *const sAnims_SNUBBULL[] = -{ - sAnim_GeneralFrame0, - sAnim_SNUBBULL_1, -}; - -static const union AnimCmd *const sAnims_GRANBULL[] = -{ - sAnim_GeneralFrame0, - sAnim_GRANBULL_1, -}; - -static const union AnimCmd *const sAnims_QWILFISH[] = -{ - sAnim_GeneralFrame0, - sAnim_QWILFISH_1, -}; - -static const union AnimCmd *const sAnims_SCIZOR[] = -{ - sAnim_GeneralFrame0, - sAnim_SCIZOR_1, -}; - -static const union AnimCmd *const sAnims_SHUCKLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SHUCKLE_1, -}; - -static const union AnimCmd *const sAnims_HERACROSS[] = -{ - sAnim_GeneralFrame0, - sAnim_HERACROSS_1, - sAnim_HERACROSS_2, -}; - -static const union AnimCmd *const sAnims_SNEASEL[] = -{ - sAnim_GeneralFrame0, - sAnim_SNEASEL_1, -}; - -static const union AnimCmd *const sAnims_TEDDIURSA[] = -{ - sAnim_GeneralFrame0, - sAnim_TEDDIURSA_1, -}; - -static const union AnimCmd *const sAnims_URSARING[] = -{ - sAnim_GeneralFrame0, - sAnim_URSARING_1, -}; - -static const union AnimCmd *const sAnims_SLUGMA[] = -{ - sAnim_GeneralFrame0, - sAnim_SLUGMA_1, - sAnim_SLUGMA_2, -}; - -static const union AnimCmd *const sAnims_MAGCARGO[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGCARGO_1, - sAnim_MAGCARGO_2, -}; - -static const union AnimCmd *const sAnims_SWINUB[] = -{ - sAnim_GeneralFrame0, - sAnim_SWINUB_1, -}; - -static const union AnimCmd *const sAnims_PILOSWINE[] = -{ - sAnim_GeneralFrame0, - sAnim_PILOSWINE_1, -}; - -static const union AnimCmd *const sAnims_CORSOLA[] = -{ - sAnim_GeneralFrame0, - sAnim_CORSOLA_1, - sAnim_CORSOLA_2, -}; - -static const union AnimCmd *const sAnims_REMORAID[] = -{ - sAnim_GeneralFrame0, - sAnim_REMORAID_1, -}; - -static const union AnimCmd *const sAnims_OCTILLERY[] = -{ - sAnim_GeneralFrame0, - sAnim_OCTILLERY_1, -}; - -static const union AnimCmd *const sAnims_DELIBIRD[] = -{ - sAnim_GeneralFrame0, - sAnim_DELIBIRD_1, -}; - -static const union AnimCmd *const sAnims_MANTINE[] = -{ - sAnim_GeneralFrame0, - sAnim_MANTINE_1, -}; - -static const union AnimCmd *const sAnims_SKARMORY[] = -{ - sAnim_GeneralFrame0, - sAnim_SKARMORY_1, - sAnim_SKARMORY_2, -}; - -static const union AnimCmd *const sAnims_HOUNDOUR[] = -{ - sAnim_GeneralFrame0, - sAnim_HOUNDOUR_1, -}; - -static const union AnimCmd *const sAnims_HOUNDOOM[] = -{ - sAnim_GeneralFrame0, - sAnim_HOUNDOOM_1, -}; - -static const union AnimCmd *const sAnims_KINGDRA[] = -{ - sAnim_GeneralFrame0, - sAnim_KINGDRA_1, - sAnim_KINGDRA_2, -}; - -static const union AnimCmd *const sAnims_PHANPY[] = -{ - sAnim_GeneralFrame0, - sAnim_PHANPY_1, - sAnim_PHANPY_2, -}; - -static const union AnimCmd *const sAnims_DONPHAN[] = -{ - sAnim_GeneralFrame0, - sAnim_DONPHAN_1, - sAnim_DONPHAN_2, -}; - -static const union AnimCmd *const sAnims_PORYGON2[] = -{ - sAnim_GeneralFrame0, - sAnim_PORYGON2_1, -}; - -static const union AnimCmd *const sAnims_STANTLER[] = -{ - sAnim_GeneralFrame0, - sAnim_STANTLER_1, -}; - -static const union AnimCmd *const sAnims_SMEARGLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SMEARGLE_1, -}; - -static const union AnimCmd *const sAnims_TYROGUE[] = -{ - sAnim_GeneralFrame0, - sAnim_TYROGUE_1, -}; - -static const union AnimCmd *const sAnims_HITMONTOP[] = -{ - sAnim_GeneralFrame0, - sAnim_HITMONTOP_1, -}; - -static const union AnimCmd *const sAnims_SMOOCHUM[] = -{ - sAnim_GeneralFrame0, - sAnim_SMOOCHUM_1, -}; - -static const union AnimCmd *const sAnims_ELEKID[] = -{ - sAnim_GeneralFrame0, - sAnim_ELEKID_1, -}; - -static const union AnimCmd *const sAnims_MAGBY[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGBY_1, -}; - -static const union AnimCmd *const sAnims_MILTANK[] = -{ - sAnim_GeneralFrame0, - sAnim_MILTANK_1, -}; - -static const union AnimCmd *const sAnims_BLISSEY[] = -{ - sAnim_GeneralFrame0, - sAnim_BLISSEY_1, -}; - -static const union AnimCmd *const sAnims_RAIKOU[] = -{ - sAnim_GeneralFrame0, - sAnim_RAIKOU_1, -}; - -static const union AnimCmd *const sAnims_ENTEI[] = -{ - sAnim_GeneralFrame0, - sAnim_ENTEI_1, -}; - -static const union AnimCmd *const sAnims_SUICUNE[] = -{ - sAnim_GeneralFrame0, - sAnim_SUICUNE_1, -}; - -static const union AnimCmd *const sAnims_LARVITAR[] = -{ - sAnim_GeneralFrame0, - sAnim_LARVITAR_1, -}; - -static const union AnimCmd *const sAnims_PUPITAR[] = -{ - sAnim_GeneralFrame0, - sAnim_PUPITAR_1, -}; - -static const union AnimCmd *const sAnims_TYRANITAR[] = -{ - sAnim_GeneralFrame0, - sAnim_TYRANITAR_1, -}; - -static const union AnimCmd *const sAnims_LUGIA[] = -{ - sAnim_GeneralFrame0, - sAnim_LUGIA_1, -}; - -static const union AnimCmd *const sAnims_HO_OH[] = -{ - sAnim_GeneralFrame0, - sAnim_HO_OH_1, -}; - -static const union AnimCmd *const sAnims_CELEBI[] = -{ - sAnim_GeneralFrame0, - sAnim_CELEBI_1, -}; - -static const union AnimCmd *const sAnims_OLD_UNOWN_B[] = -{ - sAnim_GeneralFrame0, - sAnim_OLD_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_TREECKO[] = -{ - sAnim_GeneralFrame0, - sAnim_TREECKO_1, -}; - -static const union AnimCmd *const sAnims_GROVYLE[] = -{ - sAnim_GeneralFrame0, - sAnim_GROVYLE_1, -}; - -static const union AnimCmd *const sAnims_SCEPTILE[] = -{ - sAnim_GeneralFrame0, - sAnim_SCEPTILE_1, -}; - -static const union AnimCmd *const sAnims_TORCHIC[] = -{ - sAnim_GeneralFrame0, - sAnim_TORCHIC_1, -}; - -static const union AnimCmd *const sAnims_COMBUSKEN[] = -{ - sAnim_GeneralFrame0, - sAnim_COMBUSKEN_1, -}; - -static const union AnimCmd *const sAnims_BLAZIKEN[] = -{ - sAnim_GeneralFrame0, - sAnim_BLAZIKEN_1, - sAnim_BLAZIKEN_2, - sAnim_BLAZIKEN_3, - sAnim_BLAZIKEN_4, -}; - -static const union AnimCmd *const sAnims_MUDKIP[] = -{ - sAnim_GeneralFrame0, - sAnim_MUDKIP_1, -}; - -static const union AnimCmd *const sAnims_MARSHTOMP[] = -{ - sAnim_GeneralFrame0, - sAnim_MARSHTOMP_1, -}; - -static const union AnimCmd *const sAnims_SWAMPERT[] = -{ - sAnim_GeneralFrame0, - sAnim_SWAMPERT_1, -}; - -static const union AnimCmd *const sAnims_POOCHYENA[] = -{ - sAnim_GeneralFrame0, - sAnim_POOCHYENA_1, -}; - -static const union AnimCmd *const sAnims_MIGHTYENA[] = -{ - sAnim_GeneralFrame0, - sAnim_MIGHTYENA_1, -}; - -static const union AnimCmd *const sAnims_ZIGZAGOON[] = -{ - sAnim_GeneralFrame0, - sAnim_ZIGZAGOON_1, -}; - -static const union AnimCmd *const sAnims_LINOONE[] = -{ - sAnim_GeneralFrame0, - sAnim_LINOONE_1, -}; - -static const union AnimCmd *const sAnims_WURMPLE[] = -{ - sAnim_GeneralFrame0, - sAnim_WURMPLE_1, -}; - -static const union AnimCmd *const sAnims_SILCOON[] = -{ - sAnim_GeneralFrame0, - sAnim_SILCOON_1, - sAnim_SILCOON_2, -}; - -static const union AnimCmd *const sAnims_BEAUTIFLY[] = -{ - sAnim_GeneralFrame0, - sAnim_BEAUTIFLY_1, - sAnim_BEAUTIFLY_2, -}; - -static const union AnimCmd *const sAnims_CASCOON[] = -{ - sAnim_GeneralFrame0, - sAnim_CASCOON_1, - sAnim_CASCOON_2, -}; - -static const union AnimCmd *const sAnims_DUSTOX[] = -{ - sAnim_GeneralFrame0, - sAnim_DUSTOX_1, - sAnim_DUSTOX_2, -}; - -static const union AnimCmd *const sAnims_LOTAD[] = -{ - sAnim_GeneralFrame0, - sAnim_LOTAD_1, -}; - -static const union AnimCmd *const sAnims_LOMBRE[] = -{ - sAnim_GeneralFrame0, - sAnim_LOMBRE_1, -}; - -static const union AnimCmd *const sAnims_LUDICOLO[] = -{ - sAnim_GeneralFrame0, - sAnim_LUDICOLO_1, -}; - -static const union AnimCmd *const sAnims_SEEDOT[] = -{ - sAnim_GeneralFrame0, - sAnim_SEEDOT_1, -}; - -static const union AnimCmd *const sAnims_NUZLEAF[] = -{ - sAnim_GeneralFrame0, - sAnim_NUZLEAF_1, -}; - -static const union AnimCmd *const sAnims_SHIFTRY[] = -{ - sAnim_GeneralFrame0, - sAnim_SHIFTRY_1, -}; - -static const union AnimCmd *const sAnims_NINCADA[] = -{ - sAnim_GeneralFrame0, - sAnim_NINCADA_1, -}; - -static const union AnimCmd *const sAnims_NINJASK[] = -{ - sAnim_GeneralFrame0, - sAnim_NINJASK_1, -}; - -static const union AnimCmd *const sAnims_SHEDINJA[] = -{ - sAnim_GeneralFrame0, - sAnim_SHEDINJA_1, -}; - -static const union AnimCmd *const sAnims_TAILLOW[] = -{ - sAnim_GeneralFrame0, - sAnim_TAILLOW_1, -}; - -static const union AnimCmd *const sAnims_SWELLOW[] = -{ - sAnim_GeneralFrame0, - sAnim_SWELLOW_1, -}; - -static const union AnimCmd *const sAnims_SHROOMISH[] = -{ - sAnim_GeneralFrame0, - sAnim_SHROOMISH_1, -}; - -static const union AnimCmd *const sAnims_BRELOOM[] = -{ - sAnim_GeneralFrame0, - sAnim_BRELOOM_1, -}; - -static const union AnimCmd *const sAnims_SPINDA[] = -{ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_WINGULL[] = -{ - sAnim_GeneralFrame0, - sAnim_WINGULL_1, -}; - -static const union AnimCmd *const sAnims_PELIPPER[] = -{ - sAnim_GeneralFrame0, - sAnim_PELIPPER_1, -}; - -static const union AnimCmd *const sAnims_SURSKIT[] = -{ - sAnim_GeneralFrame0, - sAnim_SURSKIT_1, - sAnim_SURSKIT_2, -}; - -static const union AnimCmd *const sAnims_MASQUERAIN[] = -{ - sAnim_GeneralFrame0, - sAnim_MASQUERAIN_1, - sAnim_MASQUERAIN_2, -}; - -static const union AnimCmd *const sAnims_WAILMER[] = -{ - sAnim_GeneralFrame0, - sAnim_WAILMER_1, -}; - -static const union AnimCmd *const sAnims_WAILORD[] = -{ - sAnim_GeneralFrame0, - sAnim_WAILORD_1, -}; - -static const union AnimCmd *const sAnims_SKITTY[] = -{ - sAnim_GeneralFrame0, - sAnim_SKITTY_1, -}; - -static const union AnimCmd *const sAnims_DELCATTY[] = -{ - sAnim_GeneralFrame0, - sAnim_DELCATTY_1, -}; - -static const union AnimCmd *const sAnims_KECLEON[] = -{ - sAnim_GeneralFrame0, - sAnim_KECLEON_1, -}; - -static const union AnimCmd *const sAnims_BALTOY[] = -{ - sAnim_GeneralFrame0, - sAnim_BALTOY_1, -}; - -static const union AnimCmd *const sAnims_CLAYDOL[] = -{ - sAnim_GeneralFrame0, - sAnim_CLAYDOL_1, -}; - -static const union AnimCmd *const sAnims_NOSEPASS[] = -{ - sAnim_GeneralFrame0, - sAnim_NOSEPASS_1, -}; - -static const union AnimCmd *const sAnims_TORKOAL[] = -{ - sAnim_GeneralFrame0, - sAnim_TORKOAL_1, -}; - -static const union AnimCmd *const sAnims_SABLEYE[] = -{ - sAnim_GeneralFrame0, - sAnim_SABLEYE_1, -}; - -static const union AnimCmd *const sAnims_BARBOACH[] = -{ - sAnim_GeneralFrame0, - sAnim_BARBOACH_1, -}; - -static const union AnimCmd *const sAnims_WHISCASH[] = -{ - sAnim_GeneralFrame0, - sAnim_WHISCASH_1, -}; - -static const union AnimCmd *const sAnims_LUVDISC[] = -{ - sAnim_GeneralFrame0, - sAnim_LUVDISC_1, -}; - -static const union AnimCmd *const sAnims_CORPHISH[] = -{ - sAnim_GeneralFrame0, - sAnim_CORPHISH_1, -}; - -static const union AnimCmd *const sAnims_CRAWDAUNT[] = -{ - sAnim_GeneralFrame0, - sAnim_CRAWDAUNT_1, -}; - -static const union AnimCmd *const sAnims_FEEBAS[] = -{ - sAnim_GeneralFrame0, - sAnim_FEEBAS_1, -}; - -static const union AnimCmd *const sAnims_MILOTIC[] = -{ - sAnim_GeneralFrame0, - sAnim_MILOTIC_1, -}; - -static const union AnimCmd *const sAnims_CARVANHA[] = -{ - sAnim_GeneralFrame0, - sAnim_CARVANHA_1, -}; - -static const union AnimCmd *const sAnims_SHARPEDO[] = -{ - sAnim_GeneralFrame0, - sAnim_SHARPEDO_1, -}; - -static const union AnimCmd *const sAnims_TRAPINCH[] = -{ - sAnim_GeneralFrame0, - sAnim_TRAPINCH_1, -}; - -static const union AnimCmd *const sAnims_VIBRAVA[] = -{ - sAnim_GeneralFrame0, - sAnim_VIBRAVA_1, -}; - -static const union AnimCmd *const sAnims_FLYGON[] = -{ - sAnim_GeneralFrame0, - sAnim_FLYGON_1, -}; - -static const union AnimCmd *const sAnims_MAKUHITA[] = -{ - sAnim_GeneralFrame0, - sAnim_MAKUHITA_1, -}; - -static const union AnimCmd *const sAnims_HARIYAMA[] = -{ - sAnim_GeneralFrame0, - sAnim_HARIYAMA_1, -}; - -static const union AnimCmd *const sAnims_ELECTRIKE[] = -{ - sAnim_GeneralFrame0, - sAnim_ELECTRIKE_1, -}; - -static const union AnimCmd *const sAnims_MANECTRIC[] = -{ - sAnim_GeneralFrame0, - sAnim_MANECTRIC_1, -}; - -static const union AnimCmd *const sAnims_NUMEL[] = -{ - sAnim_GeneralFrame0, - sAnim_NUMEL_1, -}; - -static const union AnimCmd *const sAnims_CAMERUPT[] = -{ - sAnim_GeneralFrame0, - sAnim_CAMERUPT_1, -}; - -static const union AnimCmd *const sAnims_SPHEAL[] = -{ - sAnim_GeneralFrame0, - sAnim_SPHEAL_1, -}; - -static const union AnimCmd *const sAnims_SEALEO[] = -{ - sAnim_GeneralFrame0, - sAnim_SEALEO_1, -}; - -static const union AnimCmd *const sAnims_WALREIN[] = -{ - sAnim_GeneralFrame0, - sAnim_WALREIN_1, -}; - -static const union AnimCmd *const sAnims_CACNEA[] = -{ - sAnim_GeneralFrame0, - sAnim_CACNEA_1, -}; - -static const union AnimCmd *const sAnims_CACTURNE[] = -{ - sAnim_GeneralFrame0, - sAnim_CACTURNE_1, -}; - -static const union AnimCmd *const sAnims_SNORUNT[] = -{ - sAnim_GeneralFrame0, - sAnim_SNORUNT_1, -}; - -static const union AnimCmd *const sAnims_GLALIE[] = -{ - sAnim_GeneralFrame0, - sAnim_GLALIE_1, -}; - -static const union AnimCmd *const sAnims_LUNATONE[] = -{ - sAnim_GeneralFrame0, - sAnim_LUNATONE_1, - sAnim_LUNATONE_2, -}; - -static const union AnimCmd *const sAnims_SOLROCK[] = -{ - sAnim_GeneralFrame0, - sAnim_SOLROCK_1, - sAnim_SOLROCK_2, -}; - -static const union AnimCmd *const sAnims_AZURILL[] = -{ - sAnim_GeneralFrame0, - sAnim_AZURILL_1, -}; - -static const union AnimCmd *const sAnims_SPOINK[] = -{ - sAnim_GeneralFrame0, - sAnim_SPOINK_1, -}; - -static const union AnimCmd *const sAnims_GRUMPIG[] = -{ - sAnim_GeneralFrame0, - sAnim_GRUMPIG_1, -}; - -static const union AnimCmd *const sAnims_PLUSLE[] = -{ - sAnim_GeneralFrame0, - sAnim_PLUSLE_1, -}; - -static const union AnimCmd *const sAnims_MINUN[] = -{ - sAnim_GeneralFrame0, - sAnim_MINUN_1, -}; - -static const union AnimCmd *const sAnims_MAWILE[] = -{ - sAnim_GeneralFrame0, - sAnim_MAWILE_1, -}; - -static const union AnimCmd *const sAnims_MEDITITE[] = -{ - sAnim_GeneralFrame0, - sAnim_MEDITITE_1, -}; - -static const union AnimCmd *const sAnims_MEDICHAM[] = -{ - sAnim_GeneralFrame0, - sAnim_MEDICHAM_1, -}; - -static const union AnimCmd *const sAnims_SWABLU[] = -{ - sAnim_GeneralFrame0, - sAnim_SWABLU_1, - sAnim_SWABLU_2, -}; - -static const union AnimCmd *const sAnims_ALTARIA[] = -{ - sAnim_GeneralFrame0, - sAnim_ALTARIA_1, - sAnim_ALTARIA_2, -}; - -static const union AnimCmd *const sAnims_WYNAUT[] = -{ - sAnim_GeneralFrame0, - sAnim_WYNAUT_1, -}; - -static const union AnimCmd *const sAnims_DUSKULL[] = -{ - sAnim_GeneralFrame0, - sAnim_DUSKULL_1, -}; - -static const union AnimCmd *const sAnims_DUSCLOPS[] = -{ - sAnim_GeneralFrame0, - sAnim_DUSCLOPS_1, -}; - -static const union AnimCmd *const sAnims_ROSELIA[] = -{ - sAnim_GeneralFrame0, - sAnim_ROSELIA_1, -}; - -static const union AnimCmd *const sAnims_SLAKOTH[] = -{ - sAnim_GeneralFrame0, - sAnim_SLAKOTH_1, -}; - -static const union AnimCmd *const sAnims_VIGOROTH[] = -{ - sAnim_GeneralFrame0, - sAnim_VIGOROTH_1, -}; - -static const union AnimCmd *const sAnims_SLAKING[] = -{ - sAnim_GeneralFrame0, - sAnim_SLAKING_1, -}; - -static const union AnimCmd *const sAnims_GULPIN[] = -{ - sAnim_GeneralFrame0, - sAnim_GULPIN_1, -}; - -static const union AnimCmd *const sAnims_SWALOT[] = -{ - sAnim_GeneralFrame0, - sAnim_SWALOT_1, -}; - -static const union AnimCmd *const sAnims_TROPIUS[] = -{ - sAnim_GeneralFrame0, - sAnim_TROPIUS_1, -}; - -static const union AnimCmd *const sAnims_WHISMUR[] = -{ - sAnim_GeneralFrame0, - sAnim_WHISMUR_1, -}; - -static const union AnimCmd *const sAnims_LOUDRED[] = -{ - sAnim_GeneralFrame0, - sAnim_LOUDRED_1, -}; - -static const union AnimCmd *const sAnims_EXPLOUD[] = -{ - sAnim_GeneralFrame0, - sAnim_EXPLOUD_1, -}; - -static const union AnimCmd *const sAnims_CLAMPERL[] = -{ - sAnim_GeneralFrame0, - sAnim_CLAMPERL_1, -}; - -static const union AnimCmd *const sAnims_HUNTAIL[] = -{ - sAnim_GeneralFrame0, - sAnim_HUNTAIL_1, -}; - -static const union AnimCmd *const sAnims_GOREBYSS[] = -{ - sAnim_GeneralFrame0, - sAnim_GOREBYSS_1, -}; - -static const union AnimCmd *const sAnims_ABSOL[] = -{ - sAnim_GeneralFrame0, - sAnim_ABSOL_1, -}; - -static const union AnimCmd *const sAnims_SHUPPET[] = -{ - sAnim_GeneralFrame0, - sAnim_SHUPPET_1, -}; - -static const union AnimCmd *const sAnims_BANETTE[] = -{ - sAnim_GeneralFrame0, - sAnim_BANETTE_1, -}; - -static const union AnimCmd *const sAnims_SEVIPER[] = -{ - sAnim_GeneralFrame0, - sAnim_SEVIPER_1, -}; - -static const union AnimCmd *const sAnims_ZANGOOSE[] = -{ - sAnim_GeneralFrame0, - sAnim_ZANGOOSE_1, -}; - -static const union AnimCmd *const sAnims_RELICANTH[] = -{ - sAnim_GeneralFrame0, - sAnim_RELICANTH_1, -}; - -static const union AnimCmd *const sAnims_ARON[] = -{ - sAnim_GeneralFrame0, - sAnim_ARON_1, -}; - -static const union AnimCmd *const sAnims_LAIRON[] = -{ - sAnim_GeneralFrame0, - sAnim_LAIRON_1, -}; - -static const union AnimCmd *const sAnims_AGGRON[] = -{ - sAnim_GeneralFrame0, - sAnim_AGGRON_1, -}; - -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[] = -{ - sAnim_GeneralFrame0, - sAnim_VOLBEAT_1, -}; - -static const union AnimCmd *const sAnims_ILLUMISE[] = -{ - sAnim_GeneralFrame0, - sAnim_ILLUMISE_1, -}; - -static const union AnimCmd *const sAnims_LILEEP[] = -{ - sAnim_GeneralFrame0, - sAnim_LILEEP_1, -}; - -static const union AnimCmd *const sAnims_CRADILY[] = -{ - sAnim_GeneralFrame0, - sAnim_CRADILY_1, -}; - -static const union AnimCmd *const sAnims_ANORITH[] = -{ - sAnim_GeneralFrame0, - sAnim_ANORITH_1, -}; - -static const union AnimCmd *const sAnims_ARMALDO[] = -{ - sAnim_GeneralFrame0, - sAnim_ARMALDO_1, -}; - -static const union AnimCmd *const sAnims_RALTS[] = -{ - sAnim_GeneralFrame0, - sAnim_RALTS_1, -}; - -static const union AnimCmd *const sAnims_KIRLIA[] = -{ - sAnim_GeneralFrame0, - sAnim_KIRLIA_1, -}; - -static const union AnimCmd *const sAnims_GARDEVOIR[] = -{ - sAnim_GeneralFrame0, - sAnim_GARDEVOIR_1, -}; - -static const union AnimCmd *const sAnims_BAGON[] = -{ - sAnim_GeneralFrame0, - sAnim_BAGON_1, -}; - -static const union AnimCmd *const sAnims_SHELGON[] = -{ - sAnim_GeneralFrame0, - sAnim_SHELGON_1, -}; - -static const union AnimCmd *const sAnims_SALAMENCE[] = -{ - sAnim_GeneralFrame0, - sAnim_SALAMENCE_1, -}; - -static const union AnimCmd *const sAnims_BELDUM[] = -{ - sAnim_GeneralFrame0, - sAnim_BELDUM_1, -}; - -static const union AnimCmd *const sAnims_METANG[] = -{ - sAnim_GeneralFrame0, - sAnim_METANG_1, -}; - -static const union AnimCmd *const sAnims_METAGROSS[] = -{ - sAnim_GeneralFrame0, - sAnim_METAGROSS_1, -}; - -static const union AnimCmd *const sAnims_REGIROCK[] = -{ - sAnim_GeneralFrame0, - sAnim_REGIROCK_1, - sAnim_REGIROCK_2, -}; - -static const union AnimCmd *const sAnims_REGICE[] = -{ - sAnim_GeneralFrame0, - sAnim_REGICE_1, -}; - -static const union AnimCmd *const sAnims_REGISTEEL[] = -{ - sAnim_GeneralFrame0, - sAnim_REGISTEEL_1, - sAnim_REGISTEEL_2, -}; - -static const union AnimCmd *const sAnims_KYOGRE[] = -{ - sAnim_GeneralFrame0, - sAnim_KYOGRE_1, - sAnim_KYOGRE_2, -}; - -static const union AnimCmd *const sAnims_GROUDON[] = -{ - sAnim_GeneralFrame0, - sAnim_GROUDON_1, - sAnim_GROUDON_2, -}; - -static const union AnimCmd *const sAnims_RAYQUAZA[] = -{ - sAnim_GeneralFrame0, - sAnim_RAYQUAZA_1, - sAnim_RAYQUAZA_2, -}; - -static const union AnimCmd *const sAnims_LATIAS[] = -{ - sAnim_GeneralFrame0, - sAnim_LATIAS_1, - sAnim_LATIAS_2, -}; - -static const union AnimCmd *const sAnims_LATIOS[] = -{ - sAnim_GeneralFrame0, - sAnim_LATIOS_1, - sAnim_LATIOS_2, -}; - -static const union AnimCmd *const sAnims_JIRACHI[] = -{ - sAnim_GeneralFrame0, - sAnim_JIRACHI_1, - sAnim_JIRACHI_2, -}; - -static const union AnimCmd *const sAnims_DEOXYS[] = -{ - sAnim_GeneralFrame0, - sAnim_DEOXYS_1, - sAnim_DEOXYS_2, -}; - -static const union AnimCmd *const sAnims_CHIMECHO[] = -{ - sAnim_GeneralFrame0, - sAnim_CHIMECHO_1, -}; - -static const union AnimCmd *const sAnims_EGG[] = -{ - sAnim_GeneralFrame0, - sAnim_EGG_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_B[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_C[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_C_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_D[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_D_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_E[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_E_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_F[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_F_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_G[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_G_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_H[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_H_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_I[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_I_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_J[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_J_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_K[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_K_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_L[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_L_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_M[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_M_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_N[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_N_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_O[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_O_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_P[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_P_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Q[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_Q_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_R[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_R_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_S[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_S_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_T[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_T_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_U[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_U_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_V[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_V_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_W[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_W_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_X[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_X_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Y[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_Y_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Z[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_Z_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_EMARK[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_EMARK_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_QMARK[] = -{ - sAnim_GeneralFrame0, - sAnim_UNOWN_QMARK_1, -}; - +#define SINGLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ +} + +#define DOUBLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ + sAnim_##name##_2, \ +} + +SINGLE_ANIMATION(None); +SINGLE_ANIMATION(Bulbasaur); +SINGLE_ANIMATION(Ivysaur); +SINGLE_ANIMATION(Venusaur); +SINGLE_ANIMATION(Charmander); +SINGLE_ANIMATION(Charmeleon); +SINGLE_ANIMATION(Charizard); +SINGLE_ANIMATION(Squirtle); +SINGLE_ANIMATION(Wartortle); +SINGLE_ANIMATION(Blastoise); +SINGLE_ANIMATION(Caterpie); +SINGLE_ANIMATION(Metapod); +SINGLE_ANIMATION(Butterfree); +SINGLE_ANIMATION(Weedle); +SINGLE_ANIMATION(Kakuna); +SINGLE_ANIMATION(Beedrill); +SINGLE_ANIMATION(Pidgey); +SINGLE_ANIMATION(Pidgeotto); +SINGLE_ANIMATION(Pidgeot); +SINGLE_ANIMATION(Rattata); +SINGLE_ANIMATION(Raticate); +SINGLE_ANIMATION(Spearow); +SINGLE_ANIMATION(Fearow); +SINGLE_ANIMATION(Ekans); +SINGLE_ANIMATION(Arbok); +DOUBLE_ANIMATION(Pikachu); +DOUBLE_ANIMATION(Raichu); +DOUBLE_ANIMATION(Sandshrew); +DOUBLE_ANIMATION(Sandslash); +SINGLE_ANIMATION(NidoranF); +SINGLE_ANIMATION(Nidorina); +SINGLE_ANIMATION(Nidoqueen); +SINGLE_ANIMATION(NidoranM); +SINGLE_ANIMATION(Nidorino); +SINGLE_ANIMATION(Nidoking); +SINGLE_ANIMATION(Clefairy); +SINGLE_ANIMATION(Clefable); +DOUBLE_ANIMATION(Vulpix); +DOUBLE_ANIMATION(Ninetales); +DOUBLE_ANIMATION(Jigglypuff); +DOUBLE_ANIMATION(Wigglytuff); +SINGLE_ANIMATION(Zubat); +SINGLE_ANIMATION(Golbat); +SINGLE_ANIMATION(Oddish); +SINGLE_ANIMATION(Gloom); +SINGLE_ANIMATION(Vileplume); +SINGLE_ANIMATION(Paras); +SINGLE_ANIMATION(Parasect); +SINGLE_ANIMATION(Venonat); +SINGLE_ANIMATION(Venomoth); +SINGLE_ANIMATION(Diglett); +SINGLE_ANIMATION(Dugtrio); +SINGLE_ANIMATION(Meowth); +SINGLE_ANIMATION(Persian); +DOUBLE_ANIMATION(Psyduck); +DOUBLE_ANIMATION(Golduck); +SINGLE_ANIMATION(Mankey); +SINGLE_ANIMATION(Primeape); +SINGLE_ANIMATION(Growlithe); +SINGLE_ANIMATION(Arcanine); +SINGLE_ANIMATION(Poliwag); +SINGLE_ANIMATION(Poliwhirl); +SINGLE_ANIMATION(Poliwrath); +SINGLE_ANIMATION(Abra); +SINGLE_ANIMATION(Kadabra); +SINGLE_ANIMATION(Alakazam); +SINGLE_ANIMATION(Machop); +SINGLE_ANIMATION(Machoke); +SINGLE_ANIMATION(Machamp); +SINGLE_ANIMATION(Bellsprout); +SINGLE_ANIMATION(Weepinbell); +SINGLE_ANIMATION(Victreebel); +SINGLE_ANIMATION(Tentacool); +SINGLE_ANIMATION(Tentacruel); +SINGLE_ANIMATION(Geodude); +SINGLE_ANIMATION(Graveler); +SINGLE_ANIMATION(Golem); +SINGLE_ANIMATION(Ponyta); +SINGLE_ANIMATION(Rapidash); +SINGLE_ANIMATION(Slowpoke); +SINGLE_ANIMATION(Slowbro); +SINGLE_ANIMATION(Magnemite); +SINGLE_ANIMATION(Magneton); +SINGLE_ANIMATION(Farfetchd); +SINGLE_ANIMATION(Doduo); +SINGLE_ANIMATION(Dodrio); +SINGLE_ANIMATION(Seel); +SINGLE_ANIMATION(Dewgong); +DOUBLE_ANIMATION(Grimer); +DOUBLE_ANIMATION(Muk); +SINGLE_ANIMATION(Shellder); +SINGLE_ANIMATION(Cloyster); +SINGLE_ANIMATION(Gastly); +SINGLE_ANIMATION(Haunter); +SINGLE_ANIMATION(Gengar); +SINGLE_ANIMATION(Onix); +SINGLE_ANIMATION(Drowzee); +SINGLE_ANIMATION(Hypno); +SINGLE_ANIMATION(Krabby); +SINGLE_ANIMATION(Kingler); +SINGLE_ANIMATION(Voltorb); +SINGLE_ANIMATION(Electrode); +SINGLE_ANIMATION(Exeggcute); +SINGLE_ANIMATION(Exeggutor); +SINGLE_ANIMATION(Cubone); +SINGLE_ANIMATION(Marowak); +SINGLE_ANIMATION(Hitmonlee); +SINGLE_ANIMATION(Hitmonchan); +SINGLE_ANIMATION(Lickitung); +DOUBLE_ANIMATION(Koffing); +DOUBLE_ANIMATION(Weezing); +DOUBLE_ANIMATION(Rhyhorn); +DOUBLE_ANIMATION(Rhydon); +SINGLE_ANIMATION(Chansey); +SINGLE_ANIMATION(Tangela); +SINGLE_ANIMATION(Kangaskhan); +DOUBLE_ANIMATION(Horsea); +DOUBLE_ANIMATION(Seadra); +SINGLE_ANIMATION(Goldeen); +SINGLE_ANIMATION(Seaking); +DOUBLE_ANIMATION(Staryu); +DOUBLE_ANIMATION(Starmie); +SINGLE_ANIMATION(MrMime); +SINGLE_ANIMATION(Scyther); +SINGLE_ANIMATION(Jynx); +SINGLE_ANIMATION(Electabuzz); +SINGLE_ANIMATION(Magmar); +DOUBLE_ANIMATION(Pinsir); +SINGLE_ANIMATION(Tauros); +SINGLE_ANIMATION(Magikarp); +SINGLE_ANIMATION(Gyarados); +SINGLE_ANIMATION(Lapras); +SINGLE_ANIMATION(Ditto); +SINGLE_ANIMATION(Eevee); +SINGLE_ANIMATION(Vaporeon); +SINGLE_ANIMATION(Jolteon); +SINGLE_ANIMATION(Flareon); +SINGLE_ANIMATION(Porygon); +SINGLE_ANIMATION(Omanyte); +SINGLE_ANIMATION(Omastar); +SINGLE_ANIMATION(Kabuto); +SINGLE_ANIMATION(Kabutops); +SINGLE_ANIMATION(Aerodactyl); +SINGLE_ANIMATION(Snorlax); +SINGLE_ANIMATION(Articuno); +SINGLE_ANIMATION(Zapdos); +SINGLE_ANIMATION(Moltres); +SINGLE_ANIMATION(Dratini); +SINGLE_ANIMATION(Dragonair); +SINGLE_ANIMATION(Dragonite); +SINGLE_ANIMATION(Mewtwo); +SINGLE_ANIMATION(Mew); +SINGLE_ANIMATION(Chikorita); +SINGLE_ANIMATION(Bayleef); +SINGLE_ANIMATION(Meganium); +SINGLE_ANIMATION(Cyndaquil); +SINGLE_ANIMATION(Quilava); +SINGLE_ANIMATION(Typhlosion); +SINGLE_ANIMATION(Totodile); +SINGLE_ANIMATION(Croconaw); +SINGLE_ANIMATION(Feraligatr); +SINGLE_ANIMATION(Sentret); +SINGLE_ANIMATION(Furret); +SINGLE_ANIMATION(Hoothoot); +SINGLE_ANIMATION(Noctowl); +SINGLE_ANIMATION(Ledyba); +SINGLE_ANIMATION(Ledian); +SINGLE_ANIMATION(Spinarak); +SINGLE_ANIMATION(Ariados); +SINGLE_ANIMATION(Crobat); +DOUBLE_ANIMATION(Chinchou); +DOUBLE_ANIMATION(Lanturn); +DOUBLE_ANIMATION(Pichu); +SINGLE_ANIMATION(Cleffa); +DOUBLE_ANIMATION(Igglybuff); +SINGLE_ANIMATION(Togepi); +SINGLE_ANIMATION(Togetic); +DOUBLE_ANIMATION(Natu); +DOUBLE_ANIMATION(Xatu); +SINGLE_ANIMATION(Mareep); +SINGLE_ANIMATION(Flaaffy); +SINGLE_ANIMATION(Ampharos); +SINGLE_ANIMATION(Bellossom); +SINGLE_ANIMATION(Marill); +SINGLE_ANIMATION(Azumarill); +SINGLE_ANIMATION(Sudowoodo); +SINGLE_ANIMATION(Politoed); +SINGLE_ANIMATION(Hoppip); +SINGLE_ANIMATION(Skiploom); +SINGLE_ANIMATION(Jumpluff); +SINGLE_ANIMATION(Aipom); +SINGLE_ANIMATION(Sunkern); +SINGLE_ANIMATION(Sunflora); +SINGLE_ANIMATION(Yanma); +SINGLE_ANIMATION(Wooper); +SINGLE_ANIMATION(Quagsire); +SINGLE_ANIMATION(Espeon); +SINGLE_ANIMATION(Umbreon); +SINGLE_ANIMATION(Murkrow); +SINGLE_ANIMATION(Slowking); +SINGLE_ANIMATION(Misdreavus); +SINGLE_ANIMATION(Unown); +DOUBLE_ANIMATION(Wobbuffet); +DOUBLE_ANIMATION(Girafarig); +SINGLE_ANIMATION(Pineco); +SINGLE_ANIMATION(Forretress); +SINGLE_ANIMATION(Dunsparce); +SINGLE_ANIMATION(Gligar); +SINGLE_ANIMATION(Steelix); +SINGLE_ANIMATION(Snubbull); +SINGLE_ANIMATION(Granbull); +SINGLE_ANIMATION(Qwilfish); +SINGLE_ANIMATION(Scizor); +SINGLE_ANIMATION(Shuckle); +SINGLE_ANIMATION(Heracross); +SINGLE_ANIMATION(Sneasel); +SINGLE_ANIMATION(Teddiursa); +SINGLE_ANIMATION(Ursaring); +DOUBLE_ANIMATION(Slugma); +DOUBLE_ANIMATION(Magcargo); +SINGLE_ANIMATION(Swinub); +SINGLE_ANIMATION(Piloswine); +DOUBLE_ANIMATION(Corsola); +SINGLE_ANIMATION(Remoraid); +SINGLE_ANIMATION(Octillery); +SINGLE_ANIMATION(Delibird); +SINGLE_ANIMATION(Mantine); +SINGLE_ANIMATION(Skarmory); +SINGLE_ANIMATION(Houndour); +SINGLE_ANIMATION(Houndoom); +DOUBLE_ANIMATION(Kingdra); +DOUBLE_ANIMATION(Phanpy); +SINGLE_ANIMATION(Donphan); +SINGLE_ANIMATION(Porygon2); +SINGLE_ANIMATION(Stantler); +SINGLE_ANIMATION(Smeargle); +SINGLE_ANIMATION(Tyrogue); +SINGLE_ANIMATION(Hitmontop); +SINGLE_ANIMATION(Smoochum); +SINGLE_ANIMATION(Elekid); +SINGLE_ANIMATION(Magby); +SINGLE_ANIMATION(Miltank); +SINGLE_ANIMATION(Blissey); +SINGLE_ANIMATION(Raikou); +SINGLE_ANIMATION(Entei); +SINGLE_ANIMATION(Suicune); +SINGLE_ANIMATION(Larvitar); +SINGLE_ANIMATION(Pupitar); +SINGLE_ANIMATION(Tyranitar); +SINGLE_ANIMATION(Lugia); +SINGLE_ANIMATION(HoOh); +SINGLE_ANIMATION(Celebi); +SINGLE_ANIMATION(OldUnownB); +SINGLE_ANIMATION(Treecko); +SINGLE_ANIMATION(Grovyle); +SINGLE_ANIMATION(Sceptile); +SINGLE_ANIMATION(Torchic); +SINGLE_ANIMATION(Combusken); +static const union AnimCmd *const sAnims_Blaziken[] ={ + sAnim_GeneralFrame0, + sAnim_Blaziken_1, + sAnim_Blaziken_2, + sAnim_Blaziken_3, + sAnim_Blaziken_4, +}; +SINGLE_ANIMATION(Mudkip); +SINGLE_ANIMATION(Marshtomp); +SINGLE_ANIMATION(Swampert); +SINGLE_ANIMATION(Poochyena); +SINGLE_ANIMATION(Mightyena); +SINGLE_ANIMATION(Zigzagoon); +SINGLE_ANIMATION(Linoone); +SINGLE_ANIMATION(Wurmple); +DOUBLE_ANIMATION(Silcoon); +DOUBLE_ANIMATION(Beautifly); +DOUBLE_ANIMATION(Cascoon); +DOUBLE_ANIMATION(Dustox); +SINGLE_ANIMATION(Lotad); +SINGLE_ANIMATION(Lombre); +SINGLE_ANIMATION(Ludicolo); +SINGLE_ANIMATION(Seedot); +SINGLE_ANIMATION(Nuzleaf); +SINGLE_ANIMATION(Shiftry); +SINGLE_ANIMATION(Nincada); +SINGLE_ANIMATION(Ninjask); +SINGLE_ANIMATION(Shedinja); +SINGLE_ANIMATION(Taillow); +SINGLE_ANIMATION(Swellow); +SINGLE_ANIMATION(Shroomish); +SINGLE_ANIMATION(Breloom); +static const union AnimCmd *const sAnims_Spinda[] ={ + sAnim_GeneralFrame0, +}; +SINGLE_ANIMATION(Wingull); +SINGLE_ANIMATION(Pelipper); +DOUBLE_ANIMATION(Surskit); +DOUBLE_ANIMATION(Masquerain); +SINGLE_ANIMATION(Wailmer); +SINGLE_ANIMATION(Wailord); +SINGLE_ANIMATION(Skitty); +SINGLE_ANIMATION(Delcatty); +SINGLE_ANIMATION(Kecleon); +SINGLE_ANIMATION(Baltoy); +SINGLE_ANIMATION(Claydol); +SINGLE_ANIMATION(Nosepass); +SINGLE_ANIMATION(Torkoal); +SINGLE_ANIMATION(Sableye); +SINGLE_ANIMATION(Barboach); +SINGLE_ANIMATION(Whiscash); +SINGLE_ANIMATION(Luvdisc); +SINGLE_ANIMATION(Corphish); +SINGLE_ANIMATION(Crawdaunt); +SINGLE_ANIMATION(Feebas); +SINGLE_ANIMATION(Milotic); +SINGLE_ANIMATION(Carvanha); +SINGLE_ANIMATION(Sharpedo); +SINGLE_ANIMATION(Trapinch); +SINGLE_ANIMATION(Vibrava); +SINGLE_ANIMATION(Flygon); +SINGLE_ANIMATION(Makuhita); +SINGLE_ANIMATION(Hariyama); +SINGLE_ANIMATION(Electrike); +SINGLE_ANIMATION(Manectric); +SINGLE_ANIMATION(Numel); +SINGLE_ANIMATION(Camerupt); +SINGLE_ANIMATION(Spheal); +SINGLE_ANIMATION(Sealeo); +SINGLE_ANIMATION(Walrein); +SINGLE_ANIMATION(Cacnea); +SINGLE_ANIMATION(Cacturne); +SINGLE_ANIMATION(Snorunt); +SINGLE_ANIMATION(Glalie); +DOUBLE_ANIMATION(Lunatone); +DOUBLE_ANIMATION(Solrock); +SINGLE_ANIMATION(Azurill); +SINGLE_ANIMATION(Spoink); +SINGLE_ANIMATION(Grumpig); +SINGLE_ANIMATION(Plusle); +SINGLE_ANIMATION(Minun); +SINGLE_ANIMATION(Mawile); +SINGLE_ANIMATION(Meditite); +SINGLE_ANIMATION(Medicham); +DOUBLE_ANIMATION(Swablu); +DOUBLE_ANIMATION(Altaria); +SINGLE_ANIMATION(Wynaut); +SINGLE_ANIMATION(Duskull); +SINGLE_ANIMATION(Dusclops); +SINGLE_ANIMATION(Roselia); +SINGLE_ANIMATION(Slakoth); +SINGLE_ANIMATION(Vigoroth); +SINGLE_ANIMATION(Slaking); +SINGLE_ANIMATION(Gulpin); +SINGLE_ANIMATION(Swalot); +SINGLE_ANIMATION(Tropius); +SINGLE_ANIMATION(Whismur); +SINGLE_ANIMATION(Loudred); +SINGLE_ANIMATION(Exploud); +SINGLE_ANIMATION(Clamperl); +SINGLE_ANIMATION(Huntail); +SINGLE_ANIMATION(Gorebyss); +SINGLE_ANIMATION(Absol); +SINGLE_ANIMATION(Shuppet); +SINGLE_ANIMATION(Banette); +SINGLE_ANIMATION(Seviper); +SINGLE_ANIMATION(Zangoose); +SINGLE_ANIMATION(Relicanth); +SINGLE_ANIMATION(Aron); +SINGLE_ANIMATION(Lairon); +SINGLE_ANIMATION(Aggron); +static const union AnimCmd *const sAnims_Castform[] ={ + sAnim_Castform_0, + sAnim_Castform_1, + sAnim_Castform_2, + sAnim_Castform_3, +}; +SINGLE_ANIMATION(Volbeat); +SINGLE_ANIMATION(Illumise); +SINGLE_ANIMATION(Lileep); +SINGLE_ANIMATION(Cradily); +SINGLE_ANIMATION(Anorith); +SINGLE_ANIMATION(Armaldo); +SINGLE_ANIMATION(Ralts); +SINGLE_ANIMATION(Kirlia); +SINGLE_ANIMATION(Gardevoir); +SINGLE_ANIMATION(Bagon); +SINGLE_ANIMATION(Shelgon); +SINGLE_ANIMATION(Salamence); +SINGLE_ANIMATION(Beldum); +SINGLE_ANIMATION(Metang); +SINGLE_ANIMATION(Metagross); +DOUBLE_ANIMATION(Regirock); +SINGLE_ANIMATION(Regice); +DOUBLE_ANIMATION(Registeel); +DOUBLE_ANIMATION(Kyogre); +DOUBLE_ANIMATION(Groudon); +DOUBLE_ANIMATION(Rayquaza); +DOUBLE_ANIMATION(Latias); +DOUBLE_ANIMATION(Latios); +DOUBLE_ANIMATION(Jirachi); +DOUBLE_ANIMATION(Deoxys); +SINGLE_ANIMATION(Chimecho); +SINGLE_ANIMATION(Egg); +SINGLE_ANIMATION(UnownB); +SINGLE_ANIMATION(UnownC); +SINGLE_ANIMATION(UnownD); +SINGLE_ANIMATION(UnownE); +SINGLE_ANIMATION(UnownF); +SINGLE_ANIMATION(UnownG); +SINGLE_ANIMATION(UnownH); +SINGLE_ANIMATION(UnownI); +SINGLE_ANIMATION(UnownJ); +SINGLE_ANIMATION(UnownK); +SINGLE_ANIMATION(UnownL); +SINGLE_ANIMATION(UnownM); +SINGLE_ANIMATION(UnownN); +SINGLE_ANIMATION(UnownO); +SINGLE_ANIMATION(UnownP); +SINGLE_ANIMATION(UnownQ); +SINGLE_ANIMATION(UnownR); +SINGLE_ANIMATION(UnownS); +SINGLE_ANIMATION(UnownT); +SINGLE_ANIMATION(UnownU); +SINGLE_ANIMATION(UnownV); +SINGLE_ANIMATION(UnownW); +SINGLE_ANIMATION(UnownX); +SINGLE_ANIMATION(UnownY); +SINGLE_ANIMATION(UnownZ); +SINGLE_ANIMATION(UnownEMark); +SINGLE_ANIMATION(UnownQMark); #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[] = -{ - sAnim_GeneralFrame0, - sAnim_GROTLE_1, -}; - -static const union AnimCmd *const sAnims_TORTERRA[] = -{ - sAnim_GeneralFrame0, - sAnim_TORTERRA_1, -}; - -static const union AnimCmd *const sAnims_CHIMCHAR[] = -{ - sAnim_GeneralFrame0, - sAnim_CHIMCHAR_1, -}; - -static const union AnimCmd *const sAnims_MONFERNO[] = -{ - sAnim_GeneralFrame0, - sAnim_MONFERNO_1, -}; - -static const union AnimCmd *const sAnims_INFERNAPE[] = -{ - sAnim_GeneralFrame0, - sAnim_INFERNAPE_1, -}; - -static const union AnimCmd *const sAnims_PIPLUP[] = -{ - sAnim_GeneralFrame0, - sAnim_PIPLUP_1, -}; - -static const union AnimCmd *const sAnims_PRINPLUP[] = -{ - sAnim_GeneralFrame0, - sAnim_PRINPLUP_1, -}; - -static const union AnimCmd *const sAnims_EMPOLEON[] = -{ - sAnim_GeneralFrame0, - sAnim_EMPOLEON_1, -}; - -static const union AnimCmd *const sAnims_STARLY[] = -{ - sAnim_GeneralFrame0, - sAnim_STARLY_1, -}; - -static const union AnimCmd *const sAnims_STARAVIA[] = -{ - sAnim_GeneralFrame0, - sAnim_STARAVIA_1, -}; - -static const union AnimCmd *const sAnims_STARAPTOR[] = -{ - sAnim_GeneralFrame0, - sAnim_STARAPTOR_1, -}; - -static const union AnimCmd *const sAnims_BIDOOF[] = -{ - sAnim_GeneralFrame0, - sAnim_BIDOOF_1, -}; - -static const union AnimCmd *const sAnims_BIBAREL[] = -{ - sAnim_GeneralFrame0, - sAnim_BIBAREL_1, -}; - -static const union AnimCmd *const sAnims_KRICKETOT[] = -{ - sAnim_GeneralFrame0, - sAnim_KRICKETOT_1, -}; - -static const union AnimCmd *const sAnims_KRICKETUNE[] = -{ - sAnim_GeneralFrame0, - sAnim_KRICKETUNE_1, -}; - -static const union AnimCmd *const sAnims_SHINX[] = -{ - sAnim_GeneralFrame0, - sAnim_SHINX_1, -}; - -static const union AnimCmd *const sAnims_LUXIO[] = -{ - sAnim_GeneralFrame0, - sAnim_LUXIO_1, -}; - -static const union AnimCmd *const sAnims_LUXRAY[] = -{ - sAnim_GeneralFrame0, - sAnim_LUXRAY_1, -}; - -static const union AnimCmd *const sAnims_BUDEW[] = -{ - sAnim_GeneralFrame0, - sAnim_BUDEW_1, -}; - -static const union AnimCmd *const sAnims_ROSERADE[] = -{ - sAnim_GeneralFrame0, - sAnim_ROSERADE_1, -}; - -static const union AnimCmd *const sAnims_CRANIDOS[] = -{ - sAnim_GeneralFrame0, - sAnim_CRANIDOS_1, -}; - -static const union AnimCmd *const sAnims_RAMPARDOS[] = -{ - sAnim_GeneralFrame0, - sAnim_RAMPARDOS_1, -}; - -static const union AnimCmd *const sAnims_SHIELDON[] = -{ - sAnim_GeneralFrame0, - sAnim_SHIELDON_1, -}; - -static const union AnimCmd *const sAnims_BASTIODON[] = -{ - sAnim_GeneralFrame0, - sAnim_BASTIODON_1, -}; - -static const union AnimCmd *const sAnims_BURMY[] = -{ - sAnim_GeneralFrame0, - sAnim_BURMY_1, -}; - -static const union AnimCmd *const sAnims_WORMADAM[] = -{ - sAnim_GeneralFrame0, - sAnim_WORMADAM_1, -}; - -static const union AnimCmd *const sAnims_MOTHIM[] = -{ - sAnim_GeneralFrame0, - sAnim_MOTHIM_1, -}; - -static const union AnimCmd *const sAnims_COMBEE[] = -{ - sAnim_GeneralFrame0, - sAnim_COMBEE_1, -}; - -static const union AnimCmd *const sAnims_VESPIQUEN[] = -{ - sAnim_GeneralFrame0, - sAnim_VESPIQUEN_1, -}; - -static const union AnimCmd *const sAnims_PACHIRISU[] = -{ - sAnim_GeneralFrame0, - sAnim_PACHIRISU_1, -}; - -static const union AnimCmd *const sAnims_BUIZEL[] = -{ - sAnim_GeneralFrame0, - sAnim_BUIZEL_1, -}; - -static const union AnimCmd *const sAnims_FLOATZEL[] = -{ - sAnim_GeneralFrame0, - sAnim_FLOATZEL_1, -}; - -static const union AnimCmd *const sAnims_CHERUBI[] = -{ - sAnim_GeneralFrame0, - sAnim_CHERUBI_1, -}; - -static const union AnimCmd *const sAnims_CHERRIM[] = -{ - sAnim_CHERRIM_NORMAL, - sAnim_CHERRIM_SUN, -}; - -static const union AnimCmd *const sAnims_SHELLOS[] = -{ - sAnim_GeneralFrame0, - sAnim_SHELLOS_1, -}; - -static const union AnimCmd *const sAnims_GASTRODON[] = -{ - sAnim_GeneralFrame0, - sAnim_GASTRODON_1, -}; - -static const union AnimCmd *const sAnims_AMBIPOM[] = -{ - sAnim_GeneralFrame0, - sAnim_AMBIPOM_1, -}; - -static const union AnimCmd *const sAnims_DRIFLOON[] = -{ - sAnim_GeneralFrame0, - sAnim_DRIFLOON_1, -}; - -static const union AnimCmd *const sAnims_DRIFBLIM[] = -{ - sAnim_GeneralFrame0, - sAnim_DRIFBLIM_1, -}; - -static const union AnimCmd *const sAnims_BUNEARY[] = -{ - sAnim_GeneralFrame0, - sAnim_BUNEARY_1, -}; - -static const union AnimCmd *const sAnims_LOPUNNY[] = -{ - sAnim_GeneralFrame0, - sAnim_LOPUNNY_1, -}; - -static const union AnimCmd *const sAnims_MISMAGIUS[] = -{ - sAnim_GeneralFrame0, - sAnim_MISMAGIUS_1, -}; - -static const union AnimCmd *const sAnims_HONCHKROW[] = -{ - sAnim_GeneralFrame0, - sAnim_HONCHKROW_1, -}; - -static const union AnimCmd *const sAnims_GLAMEOW[] = -{ - sAnim_GeneralFrame0, - sAnim_GLAMEOW_1, -}; - -static const union AnimCmd *const sAnims_PURUGLY[] = -{ - sAnim_GeneralFrame0, - sAnim_PURUGLY_1, -}; - -static const union AnimCmd *const sAnims_CHINGLING[] = -{ - sAnim_GeneralFrame0, - sAnim_CHINGLING_1, -}; - -static const union AnimCmd *const sAnims_STUNKY[] = -{ - sAnim_GeneralFrame0, - sAnim_STUNKY_1, -}; - -static const union AnimCmd *const sAnims_SKUNTANK[] = -{ - sAnim_GeneralFrame0, - sAnim_SKUNTANK_1, -}; - -static const union AnimCmd *const sAnims_BRONZOR[] = -{ - sAnim_GeneralFrame0, - sAnim_BRONZOR_1, -}; - -static const union AnimCmd *const sAnims_BRONZONG[] = -{ - sAnim_GeneralFrame0, - sAnim_BRONZONG_1, -}; - -static const union AnimCmd *const sAnims_BONSLY[] = -{ - sAnim_GeneralFrame0, - sAnim_BONSLY_1, -}; - -static const union AnimCmd *const sAnims_MIME_JR[] = -{ - sAnim_GeneralFrame0, - sAnim_MIME_JR_1, -}; - -static const union AnimCmd *const sAnims_HAPPINY[] = -{ - sAnim_GeneralFrame0, - sAnim_HAPPINY_1, -}; - -static const union AnimCmd *const sAnims_CHATOT[] = -{ - sAnim_GeneralFrame0, - sAnim_CHATOT_1, -}; - -static const union AnimCmd *const sAnims_SPIRITOMB[] = -{ - sAnim_GeneralFrame0, - sAnim_SPIRITOMB_1, -}; - -static const union AnimCmd *const sAnims_GIBLE[] = -{ - sAnim_GeneralFrame0, - sAnim_GIBLE_1, -}; - -static const union AnimCmd *const sAnims_GABITE[] = -{ - sAnim_GeneralFrame0, - sAnim_GABITE_1, -}; - -static const union AnimCmd *const sAnims_GARCHOMP[] = -{ - sAnim_GeneralFrame0, - sAnim_GARCHOMP_1, -}; - -static const union AnimCmd *const sAnims_MUNCHLAX[] = -{ - sAnim_GeneralFrame0, - sAnim_MUNCHLAX_1, -}; - -static const union AnimCmd *const sAnims_RIOLU[] = -{ - sAnim_GeneralFrame0, - sAnim_RIOLU_1, -}; - -static const union AnimCmd *const sAnims_LUCARIO[] = -{ - sAnim_GeneralFrame0, - sAnim_LUCARIO_1, -}; - -static const union AnimCmd *const sAnims_HIPPOPOTAS[] = -{ - sAnim_GeneralFrame0, - sAnim_HIPPOPOTAS_1, -}; - -static const union AnimCmd *const sAnims_HIPPOWDON[] = -{ - sAnim_GeneralFrame0, - sAnim_HIPPOWDON_1, -}; - -static const union AnimCmd *const sAnims_SKORUPI[] = -{ - sAnim_GeneralFrame0, - sAnim_SKORUPI_1, -}; - -static const union AnimCmd *const sAnims_DRAPION[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAPION_1, -}; - -static const union AnimCmd *const sAnims_CROAGUNK[] = -{ - sAnim_GeneralFrame0, - sAnim_CROAGUNK_1, -}; - -static const union AnimCmd *const sAnims_TOXICROAK[] = -{ - sAnim_GeneralFrame0, - sAnim_TOXICROAK_1, -}; - -static const union AnimCmd *const sAnims_CARNIVINE[] = -{ - sAnim_GeneralFrame0, - sAnim_CARNIVINE_1, -}; - -static const union AnimCmd *const sAnims_FINNEON[] = -{ - sAnim_GeneralFrame0, - sAnim_FINNEON_1, -}; - -static const union AnimCmd *const sAnims_LUMINEON[] = -{ - sAnim_GeneralFrame0, - sAnim_LUMINEON_1, -}; - -static const union AnimCmd *const sAnims_MANTYKE[] = -{ - sAnim_GeneralFrame0, - sAnim_MANTYKE_1, -}; - -static const union AnimCmd *const sAnims_SNOVER[] = -{ - sAnim_GeneralFrame0, - sAnim_SNOVER_1, -}; - -static const union AnimCmd *const sAnims_ABOMASNOW[] = -{ - sAnim_GeneralFrame0, - sAnim_ABOMASNOW_1, -}; - -static const union AnimCmd *const sAnims_WEAVILE[] = -{ - sAnim_GeneralFrame0, - sAnim_WEAVILE_1, -}; - -static const union AnimCmd *const sAnims_MAGNEZONE[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGNEZONE_1, -}; - -static const union AnimCmd *const sAnims_LICKILICKY[] = -{ - sAnim_GeneralFrame0, - sAnim_LICKILICKY_1, -}; - -static const union AnimCmd *const sAnims_RHYPERIOR[] = -{ - sAnim_GeneralFrame0, - sAnim_RHYPERIOR_1, -}; - -static const union AnimCmd *const sAnims_TANGROWTH[] = -{ - sAnim_GeneralFrame0, - sAnim_TANGROWTH_1, -}; - -static const union AnimCmd *const sAnims_ELECTIVIRE[] = -{ - sAnim_GeneralFrame0, - sAnim_ELECTIVIRE_1, -}; - -static const union AnimCmd *const sAnims_MAGMORTAR[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGMORTAR_1, -}; - -static const union AnimCmd *const sAnims_TOGEKISS[] = -{ - sAnim_GeneralFrame0, - sAnim_TOGEKISS_1, -}; - -static const union AnimCmd *const sAnims_YANMEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_YANMEGA_1, -}; - -static const union AnimCmd *const sAnims_LEAFEON[] = -{ - sAnim_GeneralFrame0, - sAnim_LEAFEON_1, -}; - -static const union AnimCmd *const sAnims_GLACEON[] = -{ - sAnim_GeneralFrame0, - sAnim_GLACEON_1, -}; - -static const union AnimCmd *const sAnims_GLISCOR[] = -{ - sAnim_GeneralFrame0, - sAnim_GLISCOR_1, -}; - -static const union AnimCmd *const sAnims_MAMOSWINE[] = -{ - sAnim_GeneralFrame0, - sAnim_MAMOSWINE_1, -}; - -static const union AnimCmd *const sAnims_PORYGON_Z[] = -{ - sAnim_GeneralFrame0, - sAnim_PORYGON_Z_1, -}; - -static const union AnimCmd *const sAnims_GALLADE[] = -{ - sAnim_GeneralFrame0, - sAnim_GALLADE_1, -}; - -static const union AnimCmd *const sAnims_PROBOPASS[] = -{ - sAnim_GeneralFrame0, - sAnim_PROBOPASS_1, -}; - -static const union AnimCmd *const sAnims_DUSKNOIR[] = -{ - sAnim_GeneralFrame0, - sAnim_DUSKNOIR_1, -}; - -static const union AnimCmd *const sAnims_FROSLASS[] = -{ - sAnim_GeneralFrame0, - sAnim_FROSLASS_1, -}; - -static const union AnimCmd *const sAnims_ROTOM[] = -{ - sAnim_GeneralFrame0, - sAnim_ROTOM_1, -}; - -static const union AnimCmd *const sAnims_ROTOM_HEAT[] = -{ - sAnim_GeneralFrame0, - sAnim_RotomHeat_1, -}; - -static const union AnimCmd *const sAnims_ROTOM_FROST[] = -{ - sAnim_GeneralFrame0, - sAnim_RotomFrost_1, -}; - -static const union AnimCmd *const sAnims_ROTOM_FAN[] = -{ - sAnim_GeneralFrame0, - sAnim_RotomFan_1, -}; - -static const union AnimCmd *const sAnims_ROTOM_MOW[] = -{ - sAnim_GeneralFrame0, - sAnim_RotomMow_1, -}; - -static const union AnimCmd *const sAnims_ROTOM_WASH[] = -{ - sAnim_GeneralFrame0, - sAnim_RotomWash_1, -}; - -static const union AnimCmd *const sAnims_UXIE[] = -{ - sAnim_GeneralFrame0, - sAnim_UXIE_1, -}; - -static const union AnimCmd *const sAnims_MESPRIT[] = -{ - sAnim_GeneralFrame0, - sAnim_MESPRIT_1, -}; - -static const union AnimCmd *const sAnims_AZELF[] = -{ - sAnim_GeneralFrame0, - sAnim_AZELF_1, -}; - -static const union AnimCmd *const sAnims_DIALGA[] = -{ - sAnim_GeneralFrame0, - sAnim_DIALGA_1, -}; - -static const union AnimCmd *const sAnims_PALKIA[] = -{ - sAnim_GeneralFrame0, - sAnim_PALKIA_1, -}; - -static const union AnimCmd *const sAnims_HEATRAN[] = -{ - sAnim_GeneralFrame0, - sAnim_HEATRAN_1, -}; - -static const union AnimCmd *const sAnims_REGIGIGAS[] = -{ - sAnim_GeneralFrame0, - sAnim_REGIGIGAS_1, -}; - -static const union AnimCmd *const sAnims_GIRATINA[] = -{ - sAnim_GeneralFrame0, - sAnim_GIRATINA_1, -}; - -static const union AnimCmd *const sAnims_CRESSELIA[] = -{ - sAnim_GeneralFrame0, - sAnim_CRESSELIA_1, -}; - -static const union AnimCmd *const sAnims_PHIONE[] = -{ - sAnim_GeneralFrame0, - sAnim_PHIONE_1, -}; - -static const union AnimCmd *const sAnims_MANAPHY[] = -{ - sAnim_GeneralFrame0, - sAnim_MANAPHY_1, -}; - -static const union AnimCmd *const sAnims_DARKRAI[] = -{ - sAnim_GeneralFrame0, - sAnim_DARKRAI_1, -}; - -static const union AnimCmd *const sAnims_SHAYMIN[] = -{ - sAnim_GeneralFrame0, - sAnim_SHAYMIN_1, -}; - -static const union AnimCmd *const sAnims_ARCEUS[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCEUS_1, -}; +SINGLE_ANIMATION(Turtwig); +SINGLE_ANIMATION(Grotle); +SINGLE_ANIMATION(Torterra); +SINGLE_ANIMATION(Chimchar); +SINGLE_ANIMATION(Monferno); +SINGLE_ANIMATION(Infernape); +SINGLE_ANIMATION(Piplup); +SINGLE_ANIMATION(Prinplup); +SINGLE_ANIMATION(Empoleon); +SINGLE_ANIMATION(Starly); +SINGLE_ANIMATION(Staravia); +SINGLE_ANIMATION(Staraptor); +SINGLE_ANIMATION(Bidoof); +DOUBLE_ANIMATION(Bibarel); +SINGLE_ANIMATION(Kricketot); +SINGLE_ANIMATION(Kricketune); +SINGLE_ANIMATION(Shinx); +SINGLE_ANIMATION(Luxio); +DOUBLE_ANIMATION(Luxray); +SINGLE_ANIMATION(Budew); +SINGLE_ANIMATION(Roserade); +SINGLE_ANIMATION(Cranidos); +SINGLE_ANIMATION(Rampardos); +SINGLE_ANIMATION(Shieldon); +SINGLE_ANIMATION(Bastiodon); +SINGLE_ANIMATION(Burmy); +SINGLE_ANIMATION(Wormadam); +SINGLE_ANIMATION(Mothim); +SINGLE_ANIMATION(Combee); +SINGLE_ANIMATION(Vespiquen); +SINGLE_ANIMATION(Pachirisu); +SINGLE_ANIMATION(Buizel); +SINGLE_ANIMATION(Floatzel); +SINGLE_ANIMATION(Cherubi); +DOUBLE_ANIMATION(CherrimOvercast); +SINGLE_ANIMATION(CherrimSunshine); +SINGLE_ANIMATION(Shellos); +SINGLE_ANIMATION(Gastrodon); +SINGLE_ANIMATION(Ambipom); +SINGLE_ANIMATION(Drifloon); +SINGLE_ANIMATION(Drifblim); +SINGLE_ANIMATION(Buneary); +SINGLE_ANIMATION(Lopunny); +SINGLE_ANIMATION(Mismagius); +SINGLE_ANIMATION(Honchkrow); +SINGLE_ANIMATION(Glameow); +SINGLE_ANIMATION(Purugly); +SINGLE_ANIMATION(Chingling); +SINGLE_ANIMATION(Stunky); +SINGLE_ANIMATION(Skuntank); +SINGLE_ANIMATION(Bronzor); +DOUBLE_ANIMATION(Bronzong); +SINGLE_ANIMATION(Bonsly); +SINGLE_ANIMATION(MimeJr); +SINGLE_ANIMATION(Happiny); +SINGLE_ANIMATION(Chatot); +SINGLE_ANIMATION(Spiritomb); +SINGLE_ANIMATION(Gible); +SINGLE_ANIMATION(Gabite); +SINGLE_ANIMATION(Garchomp); +SINGLE_ANIMATION(Munchlax); +SINGLE_ANIMATION(Riolu); +SINGLE_ANIMATION(Lucario); +SINGLE_ANIMATION(Hippopotas); +SINGLE_ANIMATION(Hippowdon); +SINGLE_ANIMATION(Skorupi); +SINGLE_ANIMATION(Drapion); +SINGLE_ANIMATION(Croagunk); +SINGLE_ANIMATION(Toxicroak); +SINGLE_ANIMATION(Carnivine); +SINGLE_ANIMATION(Finneon); +SINGLE_ANIMATION(Lumineon); +SINGLE_ANIMATION(Mantyke); +SINGLE_ANIMATION(Snover); +SINGLE_ANIMATION(Abomasnow); +SINGLE_ANIMATION(Weavile); +SINGLE_ANIMATION(Magnezone); +SINGLE_ANIMATION(Lickilicky); +SINGLE_ANIMATION(Rhyperior); +SINGLE_ANIMATION(Tangrowth); +SINGLE_ANIMATION(Electivire); +SINGLE_ANIMATION(Magmortar); +SINGLE_ANIMATION(Togekiss); +SINGLE_ANIMATION(Yanmega); +SINGLE_ANIMATION(Leafeon); +SINGLE_ANIMATION(Glaceon); +SINGLE_ANIMATION(Gliscor); +SINGLE_ANIMATION(Mamoswine); +SINGLE_ANIMATION(PORYGON_Z); +SINGLE_ANIMATION(Gallade); +DOUBLE_ANIMATION(Probopass); +SINGLE_ANIMATION(Dusknoir); +SINGLE_ANIMATION(Froslass); +DOUBLE_ANIMATION(Rotom); +SINGLE_ANIMATION(RotomHeat); +SINGLE_ANIMATION(RotomFrost); +SINGLE_ANIMATION(RotomFan); +SINGLE_ANIMATION(RotomMow); +SINGLE_ANIMATION(RotomWash); +SINGLE_ANIMATION(Uxie); +SINGLE_ANIMATION(Mesprit); +SINGLE_ANIMATION(Azelf); +SINGLE_ANIMATION(Dialga); +SINGLE_ANIMATION(Palkia); +SINGLE_ANIMATION(Heatran); +SINGLE_ANIMATION(Regigigas); +SINGLE_ANIMATION(Giratina); +SINGLE_ANIMATION(Cresselia); +SINGLE_ANIMATION(Phione); +SINGLE_ANIMATION(Manaphy); +SINGLE_ANIMATION(Darkrai); +SINGLE_ANIMATION(Shaymin); +SINGLE_ANIMATION(Arceus); #endif - #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[] = -{ - sAnim_GeneralFrame0, - sAnim_SNIVY_1, -}; - -static const union AnimCmd *const sAnims_SERVINE[] = -{ - sAnim_GeneralFrame0, - sAnim_SERVINE_1, -}; - -static const union AnimCmd *const sAnims_SERPERIOR[] = -{ - sAnim_GeneralFrame0, - sAnim_SERPERIOR_1, -}; - -static const union AnimCmd *const sAnims_TEPIG[] = -{ - sAnim_GeneralFrame0, - sAnim_TEPIG_1, -}; - -static const union AnimCmd *const sAnims_PIGNITE[] = -{ - sAnim_GeneralFrame0, - sAnim_PIGNITE_1, -}; - -static const union AnimCmd *const sAnims_EMBOAR[] = -{ - sAnim_GeneralFrame0, - sAnim_EMBOAR_1, -}; - -static const union AnimCmd *const sAnims_OSHAWOTT[] = -{ - sAnim_GeneralFrame0, - sAnim_OSHAWOTT_1, -}; - -static const union AnimCmd *const sAnims_DEWOTT[] = -{ - sAnim_GeneralFrame0, - sAnim_DEWOTT_1, -}; - -static const union AnimCmd *const sAnims_SAMUROTT[] = -{ - sAnim_GeneralFrame0, - sAnim_SAMUROTT_1, -}; - -static const union AnimCmd *const sAnims_PATRAT[] = -{ - sAnim_GeneralFrame0, - sAnim_PATRAT_1, -}; - -static const union AnimCmd *const sAnims_WATCHOG[] = -{ - sAnim_GeneralFrame0, - sAnim_WATCHOG_1, -}; - -static const union AnimCmd *const sAnims_LILLIPUP[] = -{ - sAnim_GeneralFrame0, - sAnim_LILLIPUP_1, -}; - -static const union AnimCmd *const sAnims_HERDIER[] = -{ - sAnim_GeneralFrame0, - sAnim_HERDIER_1, -}; - -static const union AnimCmd *const sAnims_STOUTLAND[] = -{ - sAnim_GeneralFrame0, - sAnim_STOUTLAND_1, -}; - -static const union AnimCmd *const sAnims_PURRLOIN[] = -{ - sAnim_GeneralFrame0, - sAnim_PURRLOIN_1, -}; - -static const union AnimCmd *const sAnims_LIEPARD[] = -{ - sAnim_GeneralFrame0, - sAnim_LIEPARD_1, -}; - -static const union AnimCmd *const sAnims_PANSAGE[] = -{ - sAnim_GeneralFrame0, - sAnim_PANSAGE_1, -}; - -static const union AnimCmd *const sAnims_SIMISAGE[] = -{ - sAnim_GeneralFrame0, - sAnim_SIMISAGE_1, -}; - -static const union AnimCmd *const sAnims_PANSEAR[] = -{ - sAnim_GeneralFrame0, - sAnim_PANSEAR_1, -}; - -static const union AnimCmd *const sAnims_SIMISEAR[] = -{ - sAnim_GeneralFrame0, - sAnim_SIMISEAR_1, -}; - -static const union AnimCmd *const sAnims_PANPOUR[] = -{ - sAnim_GeneralFrame0, - sAnim_PANPOUR_1, -}; - -static const union AnimCmd *const sAnims_SIMIPOUR[] = -{ - sAnim_GeneralFrame0, - sAnim_SIMIPOUR_1, -}; - -static const union AnimCmd *const sAnims_MUNNA[] = -{ - sAnim_GeneralFrame0, - sAnim_MUNNA_1, -}; - -static const union AnimCmd *const sAnims_MUSHARNA[] = -{ - sAnim_GeneralFrame0, - sAnim_MUSHARNA_1, -}; - -static const union AnimCmd *const sAnims_PIDOVE[] = -{ - sAnim_GeneralFrame0, - sAnim_PIDOVE_1, -}; - -static const union AnimCmd *const sAnims_TRANQUILL[] = -{ - sAnim_GeneralFrame0, - sAnim_TRANQUILL_1, -}; - -static const union AnimCmd *const sAnims_UNFEZANT[] = -{ - sAnim_GeneralFrame0, - sAnim_UNFEZANT_1, -}; - -static const union AnimCmd *const sAnims_BLITZLE[] = -{ - sAnim_GeneralFrame0, - sAnim_BLITZLE_1, -}; - -static const union AnimCmd *const sAnims_ZEBSTRIKA[] = -{ - sAnim_GeneralFrame0, - sAnim_ZEBSTRIKA_1, -}; - -static const union AnimCmd *const sAnims_ROGGENROLA[] = -{ - sAnim_GeneralFrame0, - sAnim_ROGGENROLA_1, -}; - -static const union AnimCmd *const sAnims_BOLDORE[] = -{ - sAnim_GeneralFrame0, - sAnim_BOLDORE_1, -}; - -static const union AnimCmd *const sAnims_GIGALITH[] = -{ - sAnim_GeneralFrame0, - sAnim_GIGALITH_1, -}; - -static const union AnimCmd *const sAnims_WOOBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_WOOBAT_1, -}; - -static const union AnimCmd *const sAnims_SWOOBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_SWOOBAT_1, -}; - -static const union AnimCmd *const sAnims_DRILBUR[] = -{ - sAnim_GeneralFrame0, - sAnim_DRILBUR_1, -}; - -static const union AnimCmd *const sAnims_EXCADRILL[] = -{ - sAnim_GeneralFrame0, - sAnim_EXCADRILL_1, -}; - -static const union AnimCmd *const sAnims_AUDINO[] = -{ - sAnim_GeneralFrame0, - sAnim_AUDINO_1, -}; - -static const union AnimCmd *const sAnims_TIMBURR[] = -{ - sAnim_GeneralFrame0, - sAnim_TIMBURR_1, -}; - -static const union AnimCmd *const sAnims_GURDURR[] = -{ - sAnim_GeneralFrame0, - sAnim_GURDURR_1, -}; - -static const union AnimCmd *const sAnims_CONKELDURR[] = -{ - sAnim_GeneralFrame0, - sAnim_CONKELDURR_1, -}; - -static const union AnimCmd *const sAnims_TYMPOLE[] = -{ - sAnim_GeneralFrame0, - sAnim_TYMPOLE_1, -}; - -static const union AnimCmd *const sAnims_PALPITOAD[] = -{ - sAnim_GeneralFrame0, - sAnim_PALPITOAD_1, -}; - -static const union AnimCmd *const sAnims_SEISMITOAD[] = -{ - sAnim_GeneralFrame0, - sAnim_SEISMITOAD_1, -}; - -static const union AnimCmd *const sAnims_THROH[] = -{ - sAnim_GeneralFrame0, - sAnim_THROH_1, -}; - -static const union AnimCmd *const sAnims_SAWK[] = -{ - sAnim_GeneralFrame0, - sAnim_SAWK_1, -}; - -static const union AnimCmd *const sAnims_SEWADDLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SEWADDLE_1, -}; - -static const union AnimCmd *const sAnims_SWADLOON[] = -{ - sAnim_GeneralFrame0, - sAnim_SWADLOON_1, -}; - -static const union AnimCmd *const sAnims_LEAVANNY[] = -{ - sAnim_GeneralFrame0, - sAnim_LEAVANNY_1, -}; - -static const union AnimCmd *const sAnims_VENIPEDE[] = -{ - sAnim_GeneralFrame0, - sAnim_VENIPEDE_1, -}; - -static const union AnimCmd *const sAnims_WHIRLIPEDE[] = -{ - sAnim_GeneralFrame0, - sAnim_WHIRLIPEDE_1, -}; - -static const union AnimCmd *const sAnims_SCOLIPEDE[] = -{ - sAnim_GeneralFrame0, - sAnim_SCOLIPEDE_1, -}; - -static const union AnimCmd *const sAnims_COTTONEE[] = -{ - sAnim_GeneralFrame0, - sAnim_COTTONEE_1, -}; - -static const union AnimCmd *const sAnims_WHIMSICOTT[] = -{ - sAnim_GeneralFrame0, - sAnim_WHIMSICOTT_1, -}; - -static const union AnimCmd *const sAnims_PETILIL[] = -{ - sAnim_GeneralFrame0, - sAnim_PETILIL_1, -}; - -static const union AnimCmd *const sAnims_LILLIGANT[] = -{ - sAnim_GeneralFrame0, - sAnim_LILLIGANT_1, -}; - -static const union AnimCmd *const sAnims_BASCULIN[] = -{ - sAnim_GeneralFrame0, - sAnim_BASCULIN_1, -}; - -static const union AnimCmd *const sAnims_SANDILE[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDILE_1, -}; - -static const union AnimCmd *const sAnims_KROKOROK[] = -{ - sAnim_GeneralFrame0, - sAnim_KROKOROK_1, -}; - -static const union AnimCmd *const sAnims_KROOKODILE[] = -{ - sAnim_GeneralFrame0, - sAnim_KROOKODILE_1, -}; - -static const union AnimCmd *const sAnims_DARUMAKA[] = -{ - sAnim_GeneralFrame0, - sAnim_DARUMAKA_1, -}; - -static const union AnimCmd *const sAnims_DARMANITAN[] = -{ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_1, -}; - -static const union AnimCmd *const sAnims_MARACTUS[] = -{ - sAnim_GeneralFrame0, - sAnim_MARACTUS_1, -}; - -static const union AnimCmd *const sAnims_DWEBBLE[] = -{ - sAnim_GeneralFrame0, - sAnim_DWEBBLE_1, -}; - -static const union AnimCmd *const sAnims_CRUSTLE[] = -{ - sAnim_GeneralFrame0, - sAnim_CRUSTLE_1, -}; - -static const union AnimCmd *const sAnims_SCRAGGY[] = -{ - sAnim_GeneralFrame0, - sAnim_SCRAGGY_1, -}; - -static const union AnimCmd *const sAnims_SCRAFTY[] = -{ - sAnim_GeneralFrame0, - sAnim_SCRAFTY_1, -}; - -static const union AnimCmd *const sAnims_SIGILYPH[] = -{ - sAnim_GeneralFrame0, - sAnim_SIGILYPH_1, -}; - -static const union AnimCmd *const sAnims_YAMASK[] = -{ - sAnim_GeneralFrame0, - sAnim_YAMASK_1, -}; - -static const union AnimCmd *const sAnims_COFAGRIGUS[] = -{ - sAnim_GeneralFrame0, - sAnim_COFAGRIGUS_1, -}; - -static const union AnimCmd *const sAnims_TIRTOUGA[] = -{ - sAnim_GeneralFrame0, - sAnim_TIRTOUGA_1, -}; - -static const union AnimCmd *const sAnims_CARRACOSTA[] = -{ - sAnim_GeneralFrame0, - sAnim_CARRACOSTA_1, -}; - -static const union AnimCmd *const sAnims_ARCHEN[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCHEN_1, -}; - -static const union AnimCmd *const sAnims_ARCHEOPS[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCHEOPS_1, -}; - -static const union AnimCmd *const sAnims_TRUBBISH[] = -{ - sAnim_GeneralFrame0, - sAnim_TRUBBISH_1, -}; - -static const union AnimCmd *const sAnims_GARBODOR[] = -{ - sAnim_GeneralFrame0, - sAnim_GARBODOR_1, -}; - -static const union AnimCmd *const sAnims_ZORUA[] = -{ - sAnim_GeneralFrame0, - sAnim_ZORUA_1, -}; - -static const union AnimCmd *const sAnims_ZOROARK[] = -{ - sAnim_GeneralFrame0, - sAnim_ZOROARK_1, -}; - -static const union AnimCmd *const sAnims_MINCCINO[] = -{ - sAnim_GeneralFrame0, - sAnim_MINCCINO_1, -}; - -static const union AnimCmd *const sAnims_CINCCINO[] = -{ - sAnim_GeneralFrame0, - sAnim_CINCCINO_1, -}; - -static const union AnimCmd *const sAnims_GOTHITA[] = -{ - sAnim_GeneralFrame0, - sAnim_GOTHITA_1, -}; - -static const union AnimCmd *const sAnims_GOTHORITA[] = -{ - sAnim_GeneralFrame0, - sAnim_GOTHORITA_1, -}; - -static const union AnimCmd *const sAnims_GOTHITELLE[] = -{ - sAnim_GeneralFrame0, - sAnim_GOTHITELLE_1, -}; - -static const union AnimCmd *const sAnims_SOLOSIS[] = -{ - sAnim_GeneralFrame0, - sAnim_SOLOSIS_1, -}; - -static const union AnimCmd *const sAnims_DUOSION[] = -{ - sAnim_GeneralFrame0, - sAnim_DUOSION_1, -}; - -static const union AnimCmd *const sAnims_REUNICLUS[] = -{ - sAnim_GeneralFrame0, - sAnim_REUNICLUS_1, -}; - -static const union AnimCmd *const sAnims_DUCKLETT[] = -{ - sAnim_GeneralFrame0, - sAnim_DUCKLETT_1, -}; - -static const union AnimCmd *const sAnims_SWANNA[] = -{ - sAnim_GeneralFrame0, - sAnim_SWANNA_1, -}; - -static const union AnimCmd *const sAnims_VANILLITE[] = -{ - sAnim_GeneralFrame0, - sAnim_VANILLITE_1, -}; - -static const union AnimCmd *const sAnims_VANILLISH[] = -{ - sAnim_GeneralFrame0, - sAnim_VANILLISH_1, -}; - -static const union AnimCmd *const sAnims_VANILLUXE[] = -{ - sAnim_GeneralFrame0, - sAnim_VANILLUXE_1, -}; - -static const union AnimCmd *const sAnims_DEERLING[] = -{ - sAnim_GeneralFrame0, - sAnim_DEERLING_1, -}; - -static const union AnimCmd *const sAnims_SAWSBUCK[] = -{ - sAnim_GeneralFrame0, - sAnim_SAWSBUCK_1, -}; - -static const union AnimCmd *const sAnims_EMOLGA[] = -{ - sAnim_GeneralFrame0, - sAnim_EMOLGA_1, -}; - -static const union AnimCmd *const sAnims_KARRABLAST[] = -{ - sAnim_GeneralFrame0, - sAnim_KARRABLAST_1, -}; - -static const union AnimCmd *const sAnims_ESCAVALIER[] = -{ - sAnim_GeneralFrame0, - sAnim_ESCAVALIER_1, -}; - -static const union AnimCmd *const sAnims_FOONGUS[] = -{ - sAnim_GeneralFrame0, - sAnim_FOONGUS_1, -}; - -static const union AnimCmd *const sAnims_AMOONGUSS[] = -{ - sAnim_GeneralFrame0, - sAnim_AMOONGUSS_1, -}; - -static const union AnimCmd *const sAnims_FRILLISH[] = -{ - sAnim_GeneralFrame0, - sAnim_FRILLISH_1, -}; - -static const union AnimCmd *const sAnims_JELLICENT[] = -{ - sAnim_GeneralFrame0, - sAnim_JELLICENT_1, -}; - -static const union AnimCmd *const sAnims_ALOMOMOLA[] = -{ - sAnim_GeneralFrame0, - sAnim_ALOMOMOLA_1, -}; - -static const union AnimCmd *const sAnims_JOLTIK[] = -{ - sAnim_GeneralFrame0, - sAnim_JOLTIK_1, -}; - -static const union AnimCmd *const sAnims_GALVANTULA[] = -{ - sAnim_GeneralFrame0, - sAnim_GALVANTULA_1, -}; - -static const union AnimCmd *const sAnims_FERROSEED[] = -{ - sAnim_GeneralFrame0, - sAnim_FERROSEED_1, -}; - -static const union AnimCmd *const sAnims_FERROTHORN[] = -{ - sAnim_GeneralFrame0, - sAnim_FERROTHORN_1, -}; - -static const union AnimCmd *const sAnims_KLINK[] = -{ - sAnim_GeneralFrame0, - sAnim_KLINK_1, -}; - -static const union AnimCmd *const sAnims_KLANG[] = -{ - sAnim_GeneralFrame0, - sAnim_KLANG_1, -}; - -static const union AnimCmd *const sAnims_KLINKLANG[] = -{ - sAnim_GeneralFrame0, - sAnim_KLINKLANG_1, -}; - -static const union AnimCmd *const sAnims_TYNAMO[] = -{ - sAnim_GeneralFrame0, - sAnim_TYNAMO_1, -}; - -static const union AnimCmd *const sAnims_EELEKTRIK[] = -{ - sAnim_GeneralFrame0, - sAnim_EELEKTRIK_1, -}; - -static const union AnimCmd *const sAnims_EELEKTROSS[] = -{ - sAnim_GeneralFrame0, - sAnim_EELEKTROSS_1, -}; - -static const union AnimCmd *const sAnims_ELGYEM[] = -{ - sAnim_GeneralFrame0, - sAnim_ELGYEM_1, -}; - -static const union AnimCmd *const sAnims_BEHEEYEM[] = -{ - sAnim_GeneralFrame0, - sAnim_BEHEEYEM_1, -}; - -static const union AnimCmd *const sAnims_LITWICK[] = -{ - sAnim_GeneralFrame0, - sAnim_LITWICK_1, -}; - -static const union AnimCmd *const sAnims_LAMPENT[] = -{ - sAnim_GeneralFrame0, - sAnim_LAMPENT_1, -}; - -static const union AnimCmd *const sAnims_CHANDELURE[] = -{ - sAnim_GeneralFrame0, - sAnim_CHANDELURE_1, -}; - -static const union AnimCmd *const sAnims_AXEW[] = -{ - sAnim_GeneralFrame0, - sAnim_AXEW_1, -}; - -static const union AnimCmd *const sAnims_FRAXURE[] = -{ - sAnim_GeneralFrame0, - sAnim_FRAXURE_1, -}; - -static const union AnimCmd *const sAnims_HAXORUS[] = -{ - sAnim_GeneralFrame0, - sAnim_HAXORUS_1, -}; - -static const union AnimCmd *const sAnims_CUBCHOO[] = -{ - sAnim_GeneralFrame0, - sAnim_CUBCHOO_1, -}; - -static const union AnimCmd *const sAnims_BEARTIC[] = -{ - sAnim_GeneralFrame0, - sAnim_BEARTIC_1, -}; - -static const union AnimCmd *const sAnims_CRYOGONAL[] = -{ - sAnim_GeneralFrame0, - sAnim_CRYOGONAL_1, -}; - -static const union AnimCmd *const sAnims_SHELMET[] = -{ - sAnim_GeneralFrame0, - sAnim_SHELMET_1, -}; - -static const union AnimCmd *const sAnims_ACCELGOR[] = -{ - sAnim_GeneralFrame0, - sAnim_ACCELGOR_1, -}; - -static const union AnimCmd *const sAnims_STUNFISK[] = -{ - sAnim_GeneralFrame0, - sAnim_STUNFISK_1, -}; - -static const union AnimCmd *const sAnims_MIENFOO[] = -{ - sAnim_GeneralFrame0, - sAnim_MIENFOO_1, -}; - -static const union AnimCmd *const sAnims_MIENSHAO[] = -{ - sAnim_GeneralFrame0, - sAnim_MIENSHAO_1, -}; - -static const union AnimCmd *const sAnims_DRUDDIGON[] = -{ - sAnim_GeneralFrame0, - sAnim_DRUDDIGON_1, -}; - -static const union AnimCmd *const sAnims_GOLETT[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLETT_1, -}; - -static const union AnimCmd *const sAnims_GOLURK[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLURK_1, -}; - -static const union AnimCmd *const sAnims_PAWNIARD[] = -{ - sAnim_GeneralFrame0, - sAnim_PAWNIARD_1, -}; - -static const union AnimCmd *const sAnims_BISHARP[] = -{ - sAnim_GeneralFrame0, - sAnim_BISHARP_1, -}; - -static const union AnimCmd *const sAnims_BOUFFALANT[] = -{ - sAnim_GeneralFrame0, - sAnim_BOUFFALANT_1, -}; - -static const union AnimCmd *const sAnims_RUFFLET[] = -{ - sAnim_GeneralFrame0, - sAnim_RUFFLET_1, -}; - -static const union AnimCmd *const sAnims_BRAVIARY[] = -{ - sAnim_GeneralFrame0, - sAnim_BRAVIARY_1, -}; - -static const union AnimCmd *const sAnims_VULLABY[] = -{ - sAnim_GeneralFrame0, - sAnim_VULLABY_1, -}; - -static const union AnimCmd *const sAnims_MANDIBUZZ[] = -{ - sAnim_GeneralFrame0, - sAnim_MANDIBUZZ_1, -}; - -static const union AnimCmd *const sAnims_HEATMOR[] = -{ - sAnim_GeneralFrame0, - sAnim_HEATMOR_1, -}; - -static const union AnimCmd *const sAnims_DURANT[] = -{ - sAnim_GeneralFrame0, - sAnim_DURANT_1, -}; - -static const union AnimCmd *const sAnims_DEINO[] = -{ - sAnim_GeneralFrame0, - sAnim_DEINO_1, -}; - -static const union AnimCmd *const sAnims_ZWEILOUS[] = -{ - sAnim_GeneralFrame0, - sAnim_ZWEILOUS_1, -}; - -static const union AnimCmd *const sAnims_HYDREIGON[] = -{ - sAnim_GeneralFrame0, - sAnim_HYDREIGON_1, -}; - -static const union AnimCmd *const sAnims_LARVESTA[] = -{ - sAnim_GeneralFrame0, - sAnim_LARVESTA_1, -}; - -static const union AnimCmd *const sAnims_VOLCARONA[] = -{ - sAnim_GeneralFrame0, - sAnim_VOLCARONA_1, -}; - -static const union AnimCmd *const sAnims_COBALION[] = -{ - sAnim_GeneralFrame0, - sAnim_COBALION_1, -}; - -static const union AnimCmd *const sAnims_TERRAKION[] = -{ - sAnim_GeneralFrame0, - sAnim_TERRAKION_1, -}; - -static const union AnimCmd *const sAnims_VIRIZION[] = -{ - sAnim_GeneralFrame0, - sAnim_VIRIZION_1, -}; - -static const union AnimCmd *const sAnims_TORNADUS[] = -{ - sAnim_GeneralFrame0, - sAnim_TORNADUS_1, -}; - -static const union AnimCmd *const sAnims_THUNDURUS[] = -{ - sAnim_GeneralFrame0, - sAnim_THUNDURUS_1, -}; - -static const union AnimCmd *const sAnims_RESHIRAM[] = -{ - sAnim_GeneralFrame0, - sAnim_RESHIRAM_1, -}; - -static const union AnimCmd *const sAnims_ZEKROM[] = -{ - sAnim_GeneralFrame0, - sAnim_ZEKROM_1, -}; - -static const union AnimCmd *const sAnims_LANDORUS[] = -{ - sAnim_GeneralFrame0, - sAnim_LANDORUS_1, -}; - -static const union AnimCmd *const sAnims_KYUREM[] = -{ - sAnim_GeneralFrame0, - sAnim_KYUREM_1, -}; - -static const union AnimCmd *const sAnims_KELDEO[] = -{ - sAnim_GeneralFrame0, - sAnim_KELDEO_1, -}; - -static const union AnimCmd *const sAnims_MELOETTA[] = -{ - sAnim_GeneralFrame0, - sAnim_MELOETTA_1, -}; - -static const union AnimCmd *const sAnims_GENESECT[] = -{ - sAnim_GeneralFrame0, - sAnim_GENESECT_1, -}; +SINGLE_ANIMATION(Victini); +SINGLE_ANIMATION(Snivy); +SINGLE_ANIMATION(Servine); +DOUBLE_ANIMATION(Serperior); +SINGLE_ANIMATION(Tepig); +SINGLE_ANIMATION(Pignite); +SINGLE_ANIMATION(Emboar); +SINGLE_ANIMATION(Oshawott); +SINGLE_ANIMATION(Dewott); +SINGLE_ANIMATION(Samurott); +SINGLE_ANIMATION(Patrat); +SINGLE_ANIMATION(Watchog); +SINGLE_ANIMATION(Lillipup); +SINGLE_ANIMATION(Herdier); +SINGLE_ANIMATION(Stoutland); +SINGLE_ANIMATION(Purrloin); +SINGLE_ANIMATION(Liepard); +SINGLE_ANIMATION(Pansage); +SINGLE_ANIMATION(Simisage); +SINGLE_ANIMATION(Pansear); +DOUBLE_ANIMATION(Simisear); +SINGLE_ANIMATION(Panpour); +SINGLE_ANIMATION(Simipour); +SINGLE_ANIMATION(Munna); +DOUBLE_ANIMATION(Musharna); +SINGLE_ANIMATION(Pidove); +SINGLE_ANIMATION(Tranquill); +SINGLE_ANIMATION(Unfezant); +SINGLE_ANIMATION(Blitzle); +SINGLE_ANIMATION(Zebstrika); +SINGLE_ANIMATION(Roggenrola); +SINGLE_ANIMATION(Boldore); +SINGLE_ANIMATION(Gigalith); +SINGLE_ANIMATION(Woobat); +SINGLE_ANIMATION(Swoobat); +DOUBLE_ANIMATION(Drilbur); +SINGLE_ANIMATION(Excadrill); +SINGLE_ANIMATION(Audino); +SINGLE_ANIMATION(Timburr); +SINGLE_ANIMATION(Gurdurr); +SINGLE_ANIMATION(Conkeldurr); +SINGLE_ANIMATION(Tympole); +SINGLE_ANIMATION(Palpitoad); +SINGLE_ANIMATION(Seismitoad); +SINGLE_ANIMATION(Throh); +SINGLE_ANIMATION(Sawk); +DOUBLE_ANIMATION(Sewaddle); +SINGLE_ANIMATION(Swadloon); +SINGLE_ANIMATION(Leavanny); +SINGLE_ANIMATION(Venipede); +SINGLE_ANIMATION(Whirlipede); +SINGLE_ANIMATION(Scolipede); +SINGLE_ANIMATION(Cottonee); +SINGLE_ANIMATION(Whimsicott); +SINGLE_ANIMATION(Petilil); +SINGLE_ANIMATION(Lilligant); +SINGLE_ANIMATION(Basculin); +SINGLE_ANIMATION(Sandile); +SINGLE_ANIMATION(Krokorok); +DOUBLE_ANIMATION(Krookodile); +SINGLE_ANIMATION(Darumaka); +SINGLE_ANIMATION(Darmanitan); +SINGLE_ANIMATION(Maractus); +SINGLE_ANIMATION(Dwebble); +SINGLE_ANIMATION(Crustle); +SINGLE_ANIMATION(Scraggy); +SINGLE_ANIMATION(Scrafty); +SINGLE_ANIMATION(Sigilyph); +SINGLE_ANIMATION(Yamask); +SINGLE_ANIMATION(Cofagrigus); +SINGLE_ANIMATION(Tirtouga); +SINGLE_ANIMATION(Carracosta); +SINGLE_ANIMATION(Archen); +SINGLE_ANIMATION(Archeops); +SINGLE_ANIMATION(Trubbish); +SINGLE_ANIMATION(Garbodor); +SINGLE_ANIMATION(Zorua); +SINGLE_ANIMATION(Zoroark); +SINGLE_ANIMATION(Minccino); +SINGLE_ANIMATION(Cinccino); +SINGLE_ANIMATION(Gothita); +DOUBLE_ANIMATION(Gothorita); +SINGLE_ANIMATION(Gothitelle); +SINGLE_ANIMATION(Solosis); +SINGLE_ANIMATION(Duosion); +SINGLE_ANIMATION(Reuniclus); +SINGLE_ANIMATION(Ducklett); +SINGLE_ANIMATION(Swanna); +SINGLE_ANIMATION(Vanillite); +SINGLE_ANIMATION(Vanillish); +SINGLE_ANIMATION(Vanilluxe); +SINGLE_ANIMATION(Deerling); +SINGLE_ANIMATION(Sawsbuck); +SINGLE_ANIMATION(Emolga); +SINGLE_ANIMATION(Karrablast); +SINGLE_ANIMATION(Escavalier); +DOUBLE_ANIMATION(Foongus); +SINGLE_ANIMATION(Amoonguss); +SINGLE_ANIMATION(Frillish); +SINGLE_ANIMATION(Jellicent); +SINGLE_ANIMATION(Alomomola); +SINGLE_ANIMATION(Joltik); +SINGLE_ANIMATION(Galvantula); +SINGLE_ANIMATION(Ferroseed); +DOUBLE_ANIMATION(Ferrothorn); +SINGLE_ANIMATION(Klink); +SINGLE_ANIMATION(Klang); +SINGLE_ANIMATION(Klinklang); +SINGLE_ANIMATION(Tynamo); +SINGLE_ANIMATION(Eelektrik); +SINGLE_ANIMATION(Eelektross); +SINGLE_ANIMATION(Elgyem); +SINGLE_ANIMATION(Beheeyem); +SINGLE_ANIMATION(Litwick); +SINGLE_ANIMATION(Lampent); +SINGLE_ANIMATION(Chandelure); +SINGLE_ANIMATION(Axew); +SINGLE_ANIMATION(Fraxure); +SINGLE_ANIMATION(Haxorus); +SINGLE_ANIMATION(Cubchoo); +SINGLE_ANIMATION(Beartic); +DOUBLE_ANIMATION(Cryogonal); +SINGLE_ANIMATION(Shelmet); +SINGLE_ANIMATION(Accelgor); +SINGLE_ANIMATION(Stunfisk); +SINGLE_ANIMATION(Mienfoo); +SINGLE_ANIMATION(Mienshao); +SINGLE_ANIMATION(Druddigon); +SINGLE_ANIMATION(Golett); +SINGLE_ANIMATION(Golurk); +SINGLE_ANIMATION(Pawniard); +SINGLE_ANIMATION(Bisharp); +SINGLE_ANIMATION(Bouffalant); +SINGLE_ANIMATION(Rufflet); +SINGLE_ANIMATION(Braviary); +SINGLE_ANIMATION(Vullaby); +SINGLE_ANIMATION(Mandibuzz); +SINGLE_ANIMATION(Heatmor); +SINGLE_ANIMATION(Durant); +SINGLE_ANIMATION(Deino); +SINGLE_ANIMATION(Zweilous); +SINGLE_ANIMATION(Hydreigon); +SINGLE_ANIMATION(Larvesta); +SINGLE_ANIMATION(Volcarona); +SINGLE_ANIMATION(Cobalion); +DOUBLE_ANIMATION(Terrakion); +SINGLE_ANIMATION(Virizion); +SINGLE_ANIMATION(Tornadus); +SINGLE_ANIMATION(Thundurus); +SINGLE_ANIMATION(Reshiram); +SINGLE_ANIMATION(Zekrom); +SINGLE_ANIMATION(Landorus); +SINGLE_ANIMATION(Kyurem); +SINGLE_ANIMATION(Keldeo); +DOUBLE_ANIMATION(Meloetta); +SINGLE_ANIMATION(Genesect); #endif - #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[] = -{ - sAnim_GeneralFrame0, - sAnim_QUILLADIN_1, -}; - -static const union AnimCmd *const sAnims_CHESNAUGHT[] = -{ - sAnim_GeneralFrame0, - sAnim_CHESNAUGHT_1, -}; - -static const union AnimCmd *const sAnims_FENNEKIN[] = -{ - sAnim_GeneralFrame0, - sAnim_FENNEKIN_1, -}; - -static const union AnimCmd *const sAnims_BRAIXEN[] = -{ - sAnim_GeneralFrame0, - sAnim_BRAIXEN_1, -}; - -static const union AnimCmd *const sAnims_DELPHOX[] = -{ - sAnim_GeneralFrame0, - sAnim_DELPHOX_1, -}; - -static const union AnimCmd *const sAnims_FROAKIE[] = -{ - sAnim_GeneralFrame0, - sAnim_FROAKIE_1, -}; - -static const union AnimCmd *const sAnims_FROGADIER[] = -{ - sAnim_GeneralFrame0, - sAnim_FROGADIER_1, -}; - -static const union AnimCmd *const sAnims_GRENINJA[] = -{ - sAnim_GeneralFrame0, - sAnim_GRENINJA_1, -}; - -static const union AnimCmd *const sAnims_BUNNELBY[] = -{ - sAnim_GeneralFrame0, - sAnim_BUNNELBY_1, -}; - -static const union AnimCmd *const sAnims_DIGGERSBY[] = -{ - sAnim_GeneralFrame0, - sAnim_DIGGERSBY_1, -}; - -static const union AnimCmd *const sAnims_FLETCHLING[] = -{ - sAnim_GeneralFrame0, - sAnim_FLETCHLING_1, -}; - -static const union AnimCmd *const sAnims_FLETCHINDER[] = -{ - sAnim_GeneralFrame0, - sAnim_FLETCHINDER_1, -}; - -static const union AnimCmd *const sAnims_TALONFLAME[] = -{ - sAnim_GeneralFrame0, - sAnim_TALONFLAME_1, -}; - -static const union AnimCmd *const sAnims_SCATTERBUG[] = -{ - sAnim_GeneralFrame0, - sAnim_SCATTERBUG_1, -}; - -static const union AnimCmd *const sAnims_SPEWPA[] = -{ - sAnim_GeneralFrame0, - sAnim_SPEWPA_1, -}; - -static const union AnimCmd *const sAnims_VIVILLON[] = -{ - sAnim_GeneralFrame0, - sAnim_VIVILLON_1, -}; - -static const union AnimCmd *const sAnims_LITLEO[] = -{ - sAnim_GeneralFrame0, - sAnim_LITLEO_1, -}; - -static const union AnimCmd *const sAnims_PYROAR[] = -{ - sAnim_GeneralFrame0, - sAnim_PYROAR_1, -}; - -static const union AnimCmd *const sAnims_FLABEBE[] = -{ - sAnim_GeneralFrame0, - sAnim_FLABEBE_1, -}; - -static const union AnimCmd *const sAnims_FLOETTE[] = -{ - sAnim_GeneralFrame0, - sAnim_FLOETTE_1, -}; - -static const union AnimCmd *const sAnims_FLORGES[] = -{ - sAnim_GeneralFrame0, - sAnim_FLORGES_1, -}; - -static const union AnimCmd *const sAnims_SKIDDO[] = -{ - sAnim_GeneralFrame0, - sAnim_SKIDDO_1, -}; - -static const union AnimCmd *const sAnims_GOGOAT[] = -{ - sAnim_GeneralFrame0, - sAnim_GOGOAT_1, -}; - -static const union AnimCmd *const sAnims_PANCHAM[] = -{ - sAnim_GeneralFrame0, - sAnim_PANCHAM_1, -}; - -static const union AnimCmd *const sAnims_PANGORO[] = -{ - sAnim_GeneralFrame0, - sAnim_PANGORO_1, -}; - -static const union AnimCmd *const sAnims_FURFROU[] = -{ - sAnim_GeneralFrame0, - sAnim_FURFROU_1, -}; - -static const union AnimCmd *const sAnims_ESPURR[] = -{ - sAnim_GeneralFrame0, - sAnim_ESPURR_1, -}; - -static const union AnimCmd *const sAnims_MEOWSTIC[] = -{ - sAnim_GeneralFrame0, - sAnim_MEOWSTIC_1, -}; - -static const union AnimCmd *const sAnims_HONEDGE[] = -{ - sAnim_GeneralFrame0, - sAnim_HONEDGE_1, -}; - -static const union AnimCmd *const sAnims_DOUBLADE[] = -{ - sAnim_GeneralFrame0, - sAnim_DOUBLADE_1, -}; - -static const union AnimCmd *const sAnims_AEGISLASH[] = -{ - sAnim_GeneralFrame0, - sAnim_AEGISLASH_1, -}; - -static const union AnimCmd *const sAnims_SPRITZEE[] = -{ - sAnim_GeneralFrame0, - sAnim_SPRITZEE_1, -}; - -static const union AnimCmd *const sAnims_AROMATISSE[] = -{ - sAnim_GeneralFrame0, - sAnim_AROMATISSE_1, -}; - -static const union AnimCmd *const sAnims_SWIRLIX[] = -{ - sAnim_GeneralFrame0, - sAnim_SWIRLIX_1, -}; - -static const union AnimCmd *const sAnims_SLURPUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_SLURPUFF_1, -}; - -static const union AnimCmd *const sAnims_INKAY[] = -{ - sAnim_GeneralFrame0, - sAnim_INKAY_1, -}; - -static const union AnimCmd *const sAnims_MALAMAR[] = -{ - sAnim_GeneralFrame0, - sAnim_MALAMAR_1, -}; - -static const union AnimCmd *const sAnims_BINACLE[] = -{ - sAnim_GeneralFrame0, - sAnim_BINACLE_1, -}; - -static const union AnimCmd *const sAnims_BARBARACLE[] = -{ - sAnim_GeneralFrame0, - sAnim_BARBARACLE_1, -}; - -static const union AnimCmd *const sAnims_SKRELP[] = -{ - sAnim_GeneralFrame0, - sAnim_SKRELP_1, -}; - -static const union AnimCmd *const sAnims_DRAGALGE[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAGALGE_1, -}; - -static const union AnimCmd *const sAnims_CLAUNCHER[] = -{ - sAnim_GeneralFrame0, - sAnim_CLAUNCHER_1, -}; - -static const union AnimCmd *const sAnims_CLAWITZER[] = -{ - sAnim_GeneralFrame0, - sAnim_CLAWITZER_1, -}; - -static const union AnimCmd *const sAnims_HELIOPTILE[] = -{ - sAnim_GeneralFrame0, - sAnim_HELIOPTILE_1, -}; - -static const union AnimCmd *const sAnims_HELIOLISK[] = -{ - sAnim_GeneralFrame0, - sAnim_HELIOLISK_1, -}; - -static const union AnimCmd *const sAnims_TYRUNT[] = -{ - sAnim_GeneralFrame0, - sAnim_TYRUNT_1, -}; - -static const union AnimCmd *const sAnims_TYRANTRUM[] = -{ - sAnim_GeneralFrame0, - sAnim_TYRANTRUM_1, -}; - -static const union AnimCmd *const sAnims_AMAURA[] = -{ - sAnim_GeneralFrame0, - sAnim_AMAURA_1, -}; - -static const union AnimCmd *const sAnims_AURORUS[] = -{ - sAnim_GeneralFrame0, - sAnim_AURORUS_1, -}; - -static const union AnimCmd *const sAnims_SYLVEON[] = -{ - sAnim_GeneralFrame0, - sAnim_SYLVEON_1, -}; - -static const union AnimCmd *const sAnims_HAWLUCHA[] = -{ - sAnim_GeneralFrame0, - sAnim_HAWLUCHA_1, -}; - -static const union AnimCmd *const sAnims_DEDENNE[] = -{ - sAnim_GeneralFrame0, - sAnim_DEDENNE_1, -}; - -static const union AnimCmd *const sAnims_CARBINK[] = -{ - sAnim_GeneralFrame0, - sAnim_CARBINK_1, -}; - -static const union AnimCmd *const sAnims_GOOMY[] = -{ - sAnim_GeneralFrame0, - sAnim_GOOMY_1, -}; - -static const union AnimCmd *const sAnims_SLIGGOO[] = -{ - sAnim_GeneralFrame0, - sAnim_SLIGGOO_1, -}; - -static const union AnimCmd *const sAnims_GOODRA[] = -{ - sAnim_GeneralFrame0, - sAnim_GOODRA_1, -}; - -static const union AnimCmd *const sAnims_KLEFKI[] = -{ - sAnim_GeneralFrame0, - sAnim_KLEFKI_1, -}; - -static const union AnimCmd *const sAnims_PHANTUMP[] = -{ - sAnim_GeneralFrame0, - sAnim_PHANTUMP_1, -}; - -static const union AnimCmd *const sAnims_TREVENANT[] = -{ - sAnim_GeneralFrame0, - sAnim_TREVENANT_1, -}; - -static const union AnimCmd *const sAnims_PUMPKABOO[] = -{ - sAnim_GeneralFrame0, - sAnim_PUMPKABOO_1, -}; - -static const union AnimCmd *const sAnims_GOURGEIST[] = -{ - sAnim_GeneralFrame0, - sAnim_GOURGEIST_1, -}; - -static const union AnimCmd *const sAnims_BERGMITE[] = -{ - sAnim_GeneralFrame0, - sAnim_BERGMITE_1, -}; - -static const union AnimCmd *const sAnims_AVALUGG[] = -{ - sAnim_GeneralFrame0, - sAnim_AVALUGG_1, -}; - -static const union AnimCmd *const sAnims_NOIBAT[] = -{ - sAnim_GeneralFrame0, - sAnim_NOIBAT_1, -}; - -static const union AnimCmd *const sAnims_NOIVERN[] = -{ - sAnim_GeneralFrame0, - sAnim_NOIVERN_1, -}; - -static const union AnimCmd *const sAnims_XERNEAS[] = -{ - sAnim_GeneralFrame0, - sAnim_XERNEAS_1, -}; - -static const union AnimCmd *const sAnims_YVELTAL[] = -{ - sAnim_GeneralFrame0, - sAnim_YVELTAL_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE[] = -{ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_1, -}; - -static const union AnimCmd *const sAnims_DIANCIE[] = -{ - sAnim_GeneralFrame0, - sAnim_DIANCIE_1, -}; - -static const union AnimCmd *const sAnims_HOOPA[] = -{ - sAnim_GeneralFrame0, - sAnim_HOOPA_1, -}; - -static const union AnimCmd *const sAnims_VOLCANION[] = -{ - sAnim_GeneralFrame0, - sAnim_VOLCANION_1, -}; +SINGLE_ANIMATION(Chespin); +DOUBLE_ANIMATION(Quilladin); +SINGLE_ANIMATION(Chesnaught); +SINGLE_ANIMATION(Fennekin); +SINGLE_ANIMATION(Braixen); +SINGLE_ANIMATION(Delphox); +SINGLE_ANIMATION(Froakie); +SINGLE_ANIMATION(Frogadier); +SINGLE_ANIMATION(Greninja); +SINGLE_ANIMATION(GreninjaAsh); +SINGLE_ANIMATION(Bunnelby); +SINGLE_ANIMATION(Diggersby); +SINGLE_ANIMATION(Fletchling); +SINGLE_ANIMATION(Fletchinder); +DOUBLE_ANIMATION(Talonflame); +SINGLE_ANIMATION(Scatterbug); +SINGLE_ANIMATION(Spewpa); +SINGLE_ANIMATION(Vivillon); +SINGLE_ANIMATION(Litleo); +SINGLE_ANIMATION(Pyroar); +DOUBLE_ANIMATION(Flabebe); +SINGLE_ANIMATION(Floette); +DOUBLE_ANIMATION(Florges); +SINGLE_ANIMATION(Skiddo); +SINGLE_ANIMATION(Gogoat); +SINGLE_ANIMATION(Pancham); +SINGLE_ANIMATION(Pangoro); +SINGLE_ANIMATION(Furfrou); +SINGLE_ANIMATION(Espurr); +SINGLE_ANIMATION(Meowstic); +SINGLE_ANIMATION(Honedge); +DOUBLE_ANIMATION(Doublade); +SINGLE_ANIMATION(Aegislash); +SINGLE_ANIMATION(Spritzee); +SINGLE_ANIMATION(Aromatisse); +SINGLE_ANIMATION(Swirlix); +SINGLE_ANIMATION(Slurpuff); +SINGLE_ANIMATION(Inkay); +SINGLE_ANIMATION(Malamar); +SINGLE_ANIMATION(Binacle); +SINGLE_ANIMATION(Barbaracle); +SINGLE_ANIMATION(Skrelp); +SINGLE_ANIMATION(Dragalge); +SINGLE_ANIMATION(Clauncher); +SINGLE_ANIMATION(Clawitzer); +SINGLE_ANIMATION(Helioptile); +SINGLE_ANIMATION(Heliolisk); +SINGLE_ANIMATION(Tyrunt); +SINGLE_ANIMATION(Tyrantrum); +SINGLE_ANIMATION(Amaura); +SINGLE_ANIMATION(Aurorus); +SINGLE_ANIMATION(Sylveon); +SINGLE_ANIMATION(Hawlucha); +SINGLE_ANIMATION(Dedenne); +SINGLE_ANIMATION(Carbink); +SINGLE_ANIMATION(Goomy); +SINGLE_ANIMATION(Sliggoo); +SINGLE_ANIMATION(Goodra); +SINGLE_ANIMATION(Klefki); +SINGLE_ANIMATION(Phantump); +SINGLE_ANIMATION(Trevenant); +SINGLE_ANIMATION(Pumpkaboo); +SINGLE_ANIMATION(Gourgeist); +DOUBLE_ANIMATION(Bergmite); +SINGLE_ANIMATION(Avalugg); +SINGLE_ANIMATION(Noibat); +SINGLE_ANIMATION(Noivern); +SINGLE_ANIMATION(Xerneas); +SINGLE_ANIMATION(Yveltal); +SINGLE_ANIMATION(Zygarde); +SINGLE_ANIMATION(Diancie); +SINGLE_ANIMATION(Hoopa); +SINGLE_ANIMATION(Volcanion); #endif - #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[] = -{ - sAnim_GeneralFrame0, - sAnim_DARTRIX_1, -}; - -static const union AnimCmd *const sAnims_DECIDUEYE[] = -{ - sAnim_GeneralFrame0, - sAnim_DECIDUEYE_1, -}; - -static const union AnimCmd *const sAnims_LITTEN[] = -{ - sAnim_GeneralFrame0, - sAnim_LITTEN_1, -}; - -static const union AnimCmd *const sAnims_TORRACAT[] = -{ - sAnim_GeneralFrame0, - sAnim_TORRACAT_1, -}; - -static const union AnimCmd *const sAnims_INCINEROAR[] = -{ - sAnim_GeneralFrame0, - sAnim_INCINEROAR_1, -}; - -static const union AnimCmd *const sAnims_POPPLIO[] = -{ - sAnim_GeneralFrame0, - sAnim_POPPLIO_1, -}; - -static const union AnimCmd *const sAnims_BRIONNE[] = -{ - sAnim_GeneralFrame0, - sAnim_BRIONNE_1, -}; - -static const union AnimCmd *const sAnims_PRIMARINA[] = -{ - sAnim_GeneralFrame0, - sAnim_PRIMARINA_1, -}; - -static const union AnimCmd *const sAnims_PIKIPEK[] = -{ - sAnim_GeneralFrame0, - sAnim_PIKIPEK_1, -}; - -static const union AnimCmd *const sAnims_TRUMBEAK[] = -{ - sAnim_GeneralFrame0, - sAnim_TRUMBEAK_1, -}; - -static const union AnimCmd *const sAnims_TOUCANNON[] = -{ - sAnim_GeneralFrame0, - sAnim_TOUCANNON_1, -}; - -static const union AnimCmd *const sAnims_YUNGOOS[] = -{ - sAnim_GeneralFrame0, - sAnim_YUNGOOS_1, -}; - -static const union AnimCmd *const sAnims_GUMSHOOS[] = -{ - sAnim_GeneralFrame0, - sAnim_GUMSHOOS_1, -}; - -static const union AnimCmd *const sAnims_GRUBBIN[] = -{ - sAnim_GeneralFrame0, - sAnim_GRUBBIN_1, -}; - -static const union AnimCmd *const sAnims_CHARJABUG[] = -{ - sAnim_GeneralFrame0, - sAnim_CHARJABUG_1, -}; - -static const union AnimCmd *const sAnims_VIKAVOLT[] = -{ - sAnim_GeneralFrame0, - sAnim_VIKAVOLT_1, -}; - -static const union AnimCmd *const sAnims_CRABRAWLER[] = -{ - sAnim_GeneralFrame0, - sAnim_CRABRAWLER_1, -}; - -static const union AnimCmd *const sAnims_CRABOMINABLE[] = -{ - sAnim_GeneralFrame0, - sAnim_CRABOMINABLE_1, -}; - -static const union AnimCmd *const sAnims_ORICORIO[] = -{ - sAnim_GeneralFrame0, - sAnim_ORICORIO_1, -}; - -static const union AnimCmd *const sAnims_CUTIEFLY[] = -{ - sAnim_GeneralFrame0, - sAnim_CUTIEFLY_1, -}; - -static const union AnimCmd *const sAnims_RIBOMBEE[] = -{ - sAnim_GeneralFrame0, - sAnim_RIBOMBEE_1, -}; - -static const union AnimCmd *const sAnims_ROCKRUFF[] = -{ - sAnim_GeneralFrame0, - sAnim_ROCKRUFF_1, -}; - -static const union AnimCmd *const sAnims_LYCANROC[] = -{ - sAnim_GeneralFrame0, - sAnim_LYCANROC_1, -}; - -static const union AnimCmd *const sAnims_WISHIWASHI[] = -{ - sAnim_GeneralFrame0, - sAnim_WISHIWASHI_1, -}; - -static const union AnimCmd *const sAnims_MAREANIE[] = -{ - sAnim_GeneralFrame0, - sAnim_MAREANIE_1, -}; - -static const union AnimCmd *const sAnims_TOXAPEX[] = -{ - sAnim_GeneralFrame0, - sAnim_TOXAPEX_1, -}; - -static const union AnimCmd *const sAnims_MUDBRAY[] = -{ - sAnim_GeneralFrame0, - sAnim_MUDBRAY_1, -}; - -static const union AnimCmd *const sAnims_MUDSDALE[] = -{ - sAnim_GeneralFrame0, - sAnim_MUDSDALE_1, -}; - -static const union AnimCmd *const sAnims_DEWPIDER[] = -{ - sAnim_GeneralFrame0, - sAnim_DEWPIDER_1, -}; - -static const union AnimCmd *const sAnims_ARAQUANID[] = -{ - sAnim_GeneralFrame0, - sAnim_ARAQUANID_1, -}; - -static const union AnimCmd *const sAnims_FOMANTIS[] = -{ - sAnim_GeneralFrame0, - sAnim_FOMANTIS_1, -}; - -static const union AnimCmd *const sAnims_LURANTIS[] = -{ - sAnim_GeneralFrame0, - sAnim_LURANTIS_1, -}; - -static const union AnimCmd *const sAnims_MORELULL[] = -{ - sAnim_GeneralFrame0, - sAnim_MORELULL_1, -}; - -static const union AnimCmd *const sAnims_SHIINOTIC[] = -{ - sAnim_GeneralFrame0, - sAnim_SHIINOTIC_1, -}; - -static const union AnimCmd *const sAnims_SALANDIT[] = -{ - sAnim_GeneralFrame0, - sAnim_SALANDIT_1, -}; - -static const union AnimCmd *const sAnims_SALAZZLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SALAZZLE_1, -}; - -static const union AnimCmd *const sAnims_STUFFUL[] = -{ - sAnim_GeneralFrame0, - sAnim_STUFFUL_1, -}; - -static const union AnimCmd *const sAnims_BEWEAR[] = -{ - sAnim_GeneralFrame0, - sAnim_BEWEAR_1, -}; - -static const union AnimCmd *const sAnims_BOUNSWEET[] = -{ - sAnim_GeneralFrame0, - sAnim_BOUNSWEET_1, -}; - -static const union AnimCmd *const sAnims_STEENEE[] = -{ - sAnim_GeneralFrame0, - sAnim_STEENEE_1, -}; - -static const union AnimCmd *const sAnims_TSAREENA[] = -{ - sAnim_GeneralFrame0, - sAnim_TSAREENA_1, -}; - -static const union AnimCmd *const sAnims_COMFEY[] = -{ - sAnim_GeneralFrame0, - sAnim_COMFEY_1, -}; - -static const union AnimCmd *const sAnims_ORANGURU[] = -{ - sAnim_GeneralFrame0, - sAnim_ORANGURU_1, -}; - -static const union AnimCmd *const sAnims_PASSIMIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_PASSIMIAN_1, -}; - -static const union AnimCmd *const sAnims_WIMPOD[] = -{ - sAnim_GeneralFrame0, - sAnim_WIMPOD_1, -}; - -static const union AnimCmd *const sAnims_GOLISOPOD[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLISOPOD_1, -}; - -static const union AnimCmd *const sAnims_SANDYGAST[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDYGAST_1, -}; - -static const union AnimCmd *const sAnims_PALOSSAND[] = -{ - sAnim_GeneralFrame0, - sAnim_PALOSSAND_1, -}; - -static const union AnimCmd *const sAnims_PYUKUMUKU[] = -{ - sAnim_GeneralFrame0, - sAnim_PYUKUMUKU_1, -}; - -static const union AnimCmd *const sAnims_TYPE_NULL[] = -{ - sAnim_GeneralFrame0, - sAnim_TYPE_NULL_1, -}; - -static const union AnimCmd *const sAnims_SILVALLY[] = -{ - sAnim_GeneralFrame0, - sAnim_SILVALLY_1, -}; - -static const union AnimCmd *const sAnims_MINIOR[] = -{ - sAnim_GeneralFrame0, - sAnim_MINIOR_1, -}; - -static const union AnimCmd *const sAnims_KOMALA[] = -{ - sAnim_GeneralFrame0, - sAnim_KOMALA_1, -}; - -static const union AnimCmd *const sAnims_TURTONATOR[] = -{ - sAnim_GeneralFrame0, - sAnim_TURTONATOR_1, -}; - -static const union AnimCmd *const sAnims_TOGEDEMARU[] = -{ - sAnim_GeneralFrame0, - sAnim_TOGEDEMARU_1, -}; - -static const union AnimCmd *const sAnims_MIMIKYU[] = -{ - sAnim_GeneralFrame0, - sAnim_MIMIKYU_1, -}; - -static const union AnimCmd *const sAnims_BRUXISH[] = -{ - sAnim_GeneralFrame0, - sAnim_BRUXISH_1, -}; - -static const union AnimCmd *const sAnims_DRAMPA[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAMPA_1, -}; - -static const union AnimCmd *const sAnims_DHELMISE[] = -{ - sAnim_GeneralFrame0, - sAnim_DHELMISE_1, -}; - -static const union AnimCmd *const sAnims_JANGMO_O[] = -{ - sAnim_GeneralFrame0, - sAnim_JANGMO_O_1, -}; - -static const union AnimCmd *const sAnims_HAKAMO_O[] = -{ - sAnim_GeneralFrame0, - sAnim_HAKAMO_O_1, -}; - -static const union AnimCmd *const sAnims_KOMMO_O[] = -{ - sAnim_GeneralFrame0, - sAnim_KOMMO_O_1, -}; - -static const union AnimCmd *const sAnims_TAPU_KOKO[] = -{ - sAnim_GeneralFrame0, - sAnim_TAPU_KOKO_1, -}; - -static const union AnimCmd *const sAnims_TAPU_LELE[] = -{ - sAnim_GeneralFrame0, - sAnim_TAPU_LELE_1, -}; - -static const union AnimCmd *const sAnims_TAPU_BULU[] = -{ - sAnim_GeneralFrame0, - sAnim_TAPU_BULU_1, -}; - -static const union AnimCmd *const sAnims_TAPU_FINI[] = -{ - sAnim_GeneralFrame0, - sAnim_TAPU_FINI_1, -}; - -static const union AnimCmd *const sAnims_COSMOG[] = -{ - sAnim_GeneralFrame0, - sAnim_COSMOG_1, -}; - -static const union AnimCmd *const sAnims_COSMOEM[] = -{ - sAnim_GeneralFrame0, - sAnim_COSMOEM_1, -}; - -static const union AnimCmd *const sAnims_SOLGALEO[] = -{ - sAnim_GeneralFrame0, - sAnim_SOLGALEO_1, -}; - -static const union AnimCmd *const sAnims_LUNALA[] = -{ - sAnim_GeneralFrame0, - sAnim_LUNALA_1, -}; - -static const union AnimCmd *const sAnims_NIHILEGO[] = -{ - sAnim_GeneralFrame0, - sAnim_NIHILEGO_1, -}; - -static const union AnimCmd *const sAnims_BUZZWOLE[] = -{ - sAnim_GeneralFrame0, - sAnim_BUZZWOLE_1, -}; - -static const union AnimCmd *const sAnims_PHEROMOSA[] = -{ - sAnim_GeneralFrame0, - sAnim_PHEROMOSA_1, -}; - -static const union AnimCmd *const sAnims_XURKITREE[] = -{ - sAnim_GeneralFrame0, - sAnim_XURKITREE_1, -}; - -static const union AnimCmd *const sAnims_CELESTEELA[] = -{ - sAnim_GeneralFrame0, - sAnim_CELESTEELA_1, -}; - -static const union AnimCmd *const sAnims_KARTANA[] = -{ - sAnim_GeneralFrame0, - sAnim_KARTANA_1, -}; - -static const union AnimCmd *const sAnims_GUZZLORD[] = -{ - sAnim_GeneralFrame0, - sAnim_GUZZLORD_1, -}; - -static const union AnimCmd *const sAnims_NECROZMA[] = -{ - sAnim_GeneralFrame0, - sAnim_NECROZMA_1, -}; - -static const union AnimCmd *const sAnims_MAGEARNA[] = -{ - sAnim_GeneralFrame0, - sAnim_MAGEARNA_1, -}; - -static const union AnimCmd *const sAnims_MARSHADOW[] = -{ - sAnim_GeneralFrame0, - sAnim_MARSHADOW_1, -}; - -static const union AnimCmd *const sAnims_POIPOLE[] = -{ - sAnim_GeneralFrame0, - sAnim_POIPOLE_1, -}; - -static const union AnimCmd *const sAnims_NAGANADEL[] = -{ - sAnim_GeneralFrame0, - sAnim_NAGANADEL_1, -}; - -static const union AnimCmd *const sAnims_STAKATAKA[] = -{ - sAnim_GeneralFrame0, - sAnim_STAKATAKA_1, -}; - -static const union AnimCmd *const sAnims_BLACEPHALON[] = -{ - sAnim_GeneralFrame0, - sAnim_BLACEPHALON_1, -}; - -static const union AnimCmd *const sAnims_ZERAORA[] = -{ - sAnim_GeneralFrame0, - sAnim_ZERAORA_1, -}; - -static const union AnimCmd *const sAnims_MELTAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MELTAN_1, -}; - -static const union AnimCmd *const sAnims_MELMETAL[] = -{ - sAnim_GeneralFrame0, - sAnim_MELMETAL_1, -}; +SINGLE_ANIMATION(Rowlet); +SINGLE_ANIMATION(Dartrix); +SINGLE_ANIMATION(Decidueye); +SINGLE_ANIMATION(Litten); +SINGLE_ANIMATION(Torracat); +SINGLE_ANIMATION(Incineroar); +SINGLE_ANIMATION(Popplio); +SINGLE_ANIMATION(Brionne); +SINGLE_ANIMATION(Primarina); +SINGLE_ANIMATION(Pikipek); +SINGLE_ANIMATION(Trumbeak); +SINGLE_ANIMATION(Toucannon); +SINGLE_ANIMATION(Yungoos); +SINGLE_ANIMATION(Gumshoos); +SINGLE_ANIMATION(Grubbin); +SINGLE_ANIMATION(Charjabug); +SINGLE_ANIMATION(Vikavolt); +SINGLE_ANIMATION(Crabrawler); +SINGLE_ANIMATION(Crabominable); +SINGLE_ANIMATION(Oricorio); +SINGLE_ANIMATION(Cutiefly); +SINGLE_ANIMATION(Ribombee); +SINGLE_ANIMATION(Rockruff); +SINGLE_ANIMATION(Lycanroc); +SINGLE_ANIMATION(Wishiwashi); +SINGLE_ANIMATION(Mareanie); +SINGLE_ANIMATION(Toxapex); +SINGLE_ANIMATION(Mudbray); +SINGLE_ANIMATION(Mudsdale); +SINGLE_ANIMATION(Dewpider); +SINGLE_ANIMATION(Araquanid); +SINGLE_ANIMATION(Fomantis); +SINGLE_ANIMATION(Lurantis); +SINGLE_ANIMATION(Morelull); +SINGLE_ANIMATION(Shiinotic); +SINGLE_ANIMATION(Salandit); +SINGLE_ANIMATION(Salazzle); +SINGLE_ANIMATION(Stufful); +SINGLE_ANIMATION(Bewear); +SINGLE_ANIMATION(Bounsweet); +SINGLE_ANIMATION(Steenee); +SINGLE_ANIMATION(Tsareena); +SINGLE_ANIMATION(Comfey); +SINGLE_ANIMATION(Oranguru); +SINGLE_ANIMATION(Passimian); +SINGLE_ANIMATION(Wimpod); +SINGLE_ANIMATION(Golisopod); +SINGLE_ANIMATION(Sandygast); +SINGLE_ANIMATION(Palossand); +SINGLE_ANIMATION(Pyukumuku); +SINGLE_ANIMATION(TypeNull); +SINGLE_ANIMATION(Silvally); +SINGLE_ANIMATION(Minior); +SINGLE_ANIMATION(Komala); +SINGLE_ANIMATION(Turtonator); +SINGLE_ANIMATION(Togedemaru); +SINGLE_ANIMATION(Mimikyu); +SINGLE_ANIMATION(Bruxish); +SINGLE_ANIMATION(Drampa); +SINGLE_ANIMATION(Dhelmise); +SINGLE_ANIMATION(JANGMO_O); +SINGLE_ANIMATION(HAKAMO_O); +SINGLE_ANIMATION(KOMMO_O); +SINGLE_ANIMATION(TapuKoko); +SINGLE_ANIMATION(TapuLele); +SINGLE_ANIMATION(TapuBulu); +SINGLE_ANIMATION(TapuFini); +SINGLE_ANIMATION(Cosmog); +SINGLE_ANIMATION(Cosmoem); +SINGLE_ANIMATION(Solgaleo); +SINGLE_ANIMATION(Lunala); +SINGLE_ANIMATION(Nihilego); +SINGLE_ANIMATION(Buzzwole); +SINGLE_ANIMATION(Pheromosa); +SINGLE_ANIMATION(Xurkitree); +SINGLE_ANIMATION(Celesteela); +SINGLE_ANIMATION(Kartana); +SINGLE_ANIMATION(Guzzlord); +SINGLE_ANIMATION(Necrozma); +SINGLE_ANIMATION(Magearna); +SINGLE_ANIMATION(Marshadow); +SINGLE_ANIMATION(Poipole); +SINGLE_ANIMATION(Naganadel); +SINGLE_ANIMATION(Stakataka); +SINGLE_ANIMATION(Blacephalon); +SINGLE_ANIMATION(Zeraora); +SINGLE_ANIMATION(Meltan); +SINGLE_ANIMATION(Melmetal); #endif - #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[] = -{ - sAnim_GeneralFrame0, - sAnim_THWACKEY_1, -}; - -static const union AnimCmd *const sAnims_RILLABOOM[] = -{ - sAnim_GeneralFrame0, - sAnim_RILLABOOM_1, -}; - -static const union AnimCmd *const sAnims_SCORBUNNY[] = -{ - sAnim_GeneralFrame0, - sAnim_SCORBUNNY_1, -}; - -static const union AnimCmd *const sAnims_RABOOT[] = -{ - sAnim_GeneralFrame0, - sAnim_RABOOT_1, -}; - -static const union AnimCmd *const sAnims_CINDERACE[] = -{ - sAnim_GeneralFrame0, - sAnim_CINDERACE_1, -}; - -static const union AnimCmd *const sAnims_SOBBLE[] = -{ - sAnim_GeneralFrame0, - sAnim_SOBBLE_1, -}; - -static const union AnimCmd *const sAnims_DRIZZILE[] = -{ - sAnim_GeneralFrame0, - sAnim_DRIZZILE_1, -}; - -static const union AnimCmd *const sAnims_INTELEON[] = -{ - sAnim_GeneralFrame0, - sAnim_INTELEON_1, -}; - -static const union AnimCmd *const sAnims_SKWOVET[] = -{ - sAnim_GeneralFrame0, - sAnim_SKWOVET_1, -}; - -static const union AnimCmd *const sAnims_GREEDENT[] = -{ - sAnim_GeneralFrame0, - sAnim_GREEDENT_1, -}; - -static const union AnimCmd *const sAnims_ROOKIDEE[] = -{ - sAnim_GeneralFrame0, - sAnim_ROOKIDEE_1, -}; - -static const union AnimCmd *const sAnims_CORVISQUIRE[] = -{ - sAnim_GeneralFrame0, - sAnim_CORVISQUIRE_1, -}; - -static const union AnimCmd *const sAnims_CORVIKNIGHT[] = -{ - sAnim_GeneralFrame0, - sAnim_CORVIKNIGHT_1, -}; - -static const union AnimCmd *const sAnims_BLIPBUG[] = -{ - sAnim_GeneralFrame0, - sAnim_BLIPBUG_1, -}; - -static const union AnimCmd *const sAnims_DOTTLER[] = -{ - sAnim_GeneralFrame0, - sAnim_DOTTLER_1, -}; - -static const union AnimCmd *const sAnims_ORBEETLE[] = -{ - sAnim_GeneralFrame0, - sAnim_ORBEETLE_1, -}; - -static const union AnimCmd *const sAnims_NICKIT[] = -{ - sAnim_GeneralFrame0, - sAnim_NICKIT_1, -}; - -static const union AnimCmd *const sAnims_THIEVUL[] = -{ - sAnim_GeneralFrame0, - sAnim_THIEVUL_1, -}; - -static const union AnimCmd *const sAnims_GOSSIFLEUR[] = -{ - sAnim_GeneralFrame0, - sAnim_GOSSIFLEUR_1, -}; - -static const union AnimCmd *const sAnims_ELDEGOSS[] = -{ - sAnim_GeneralFrame0, - sAnim_ELDEGOSS_1, -}; - -static const union AnimCmd *const sAnims_WOOLOO[] = -{ - sAnim_GeneralFrame0, - sAnim_WOOLOO_1, -}; - -static const union AnimCmd *const sAnims_DUBWOOL[] = -{ - sAnim_GeneralFrame0, - sAnim_DUBWOOL_1, -}; - -static const union AnimCmd *const sAnims_CHEWTLE[] = -{ - sAnim_GeneralFrame0, - sAnim_CHEWTLE_1, -}; - -static const union AnimCmd *const sAnims_DREDNAW[] = -{ - sAnim_GeneralFrame0, - sAnim_DREDNAW_1, -}; - -static const union AnimCmd *const sAnims_YAMPER[] = -{ - sAnim_GeneralFrame0, - sAnim_YAMPER_1, -}; - -static const union AnimCmd *const sAnims_BOLTUND[] = -{ - sAnim_GeneralFrame0, - sAnim_BOLTUND_1, -}; - -static const union AnimCmd *const sAnims_ROLYCOLY[] = -{ - sAnim_GeneralFrame0, - sAnim_ROLYCOLY_1, -}; - -static const union AnimCmd *const sAnims_CARKOL[] = -{ - sAnim_GeneralFrame0, - sAnim_CARKOL_1, -}; - -static const union AnimCmd *const sAnims_COALOSSAL[] = -{ - sAnim_GeneralFrame0, - sAnim_COALOSSAL_1, -}; - -static const union AnimCmd *const sAnims_APPLIN[] = -{ - sAnim_GeneralFrame0, - sAnim_APPLIN_1, -}; - -static const union AnimCmd *const sAnims_FLAPPLE[] = -{ - sAnim_GeneralFrame0, - sAnim_FLAPPLE_1, -}; - -static const union AnimCmd *const sAnims_APPLETUN[] = -{ - sAnim_GeneralFrame0, - sAnim_APPLETUN_1, -}; - -static const union AnimCmd *const sAnims_SILICOBRA[] = -{ - sAnim_GeneralFrame0, - sAnim_SILICOBRA_1, -}; - -static const union AnimCmd *const sAnims_SANDACONDA[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDACONDA_1, -}; - -static const union AnimCmd *const sAnims_CRAMORANT[] = -{ - sAnim_GeneralFrame0, - sAnim_CRAMORANT_1, -}; - -static const union AnimCmd *const sAnims_ARROKUDA[] = -{ - sAnim_GeneralFrame0, - sAnim_ARROKUDA_1, -}; - -static const union AnimCmd *const sAnims_BARRASKEWDA[] = -{ - sAnim_GeneralFrame0, - sAnim_BARRASKEWDA_1, -}; - -static const union AnimCmd *const sAnims_TOXEL[] = -{ - sAnim_GeneralFrame0, - sAnim_TOXEL_1, -}; - -static const union AnimCmd *const sAnims_TOXTRICITY[] = -{ - sAnim_GeneralFrame0, - sAnim_TOXTRICITY_1, -}; - -static const union AnimCmd *const sAnims_SIZZLIPEDE[] = -{ - sAnim_GeneralFrame0, - sAnim_SIZZLIPEDE_1, -}; - -static const union AnimCmd *const sAnims_CENTISKORCH[] = -{ - sAnim_GeneralFrame0, - sAnim_CENTISKORCH_1, -}; - -static const union AnimCmd *const sAnims_CLOBBOPUS[] = -{ - sAnim_GeneralFrame0, - sAnim_CLOBBOPUS_1, -}; - -static const union AnimCmd *const sAnims_GRAPPLOCT[] = -{ - sAnim_GeneralFrame0, - sAnim_GRAPPLOCT_1, -}; - -static const union AnimCmd *const sAnims_SINISTEA[] = -{ - sAnim_GeneralFrame0, - sAnim_SINISTEA_1, -}; - -static const union AnimCmd *const sAnims_POLTEAGEIST[] = -{ - sAnim_GeneralFrame0, - sAnim_POLTEAGEIST_1, -}; - -static const union AnimCmd *const sAnims_HATENNA[] = -{ - sAnim_GeneralFrame0, - sAnim_HATENNA_1, -}; - -static const union AnimCmd *const sAnims_HATTREM[] = -{ - sAnim_GeneralFrame0, - sAnim_HATTREM_1, -}; - -static const union AnimCmd *const sAnims_HATTERENE[] = -{ - sAnim_GeneralFrame0, - sAnim_HATTERENE_1, -}; - -static const union AnimCmd *const sAnims_IMPIDIMP[] = -{ - sAnim_GeneralFrame0, - sAnim_IMPIDIMP_1, -}; - -static const union AnimCmd *const sAnims_MORGREM[] = -{ - sAnim_GeneralFrame0, - sAnim_MORGREM_1, -}; - -static const union AnimCmd *const sAnims_GRIMMSNARL[] = -{ - sAnim_GeneralFrame0, - sAnim_GRIMMSNARL_1, -}; - -static const union AnimCmd *const sAnims_OBSTAGOON[] = -{ - sAnim_GeneralFrame0, - sAnim_OBSTAGOON_1, -}; - -static const union AnimCmd *const sAnims_PERRSERKER[] = -{ - sAnim_GeneralFrame0, - sAnim_PERRSERKER_1, -}; - -static const union AnimCmd *const sAnims_CURSOLA[] = -{ - sAnim_GeneralFrame0, - sAnim_CURSOLA_1, -}; - -static const union AnimCmd *const sAnims_SIRFETCHD[] = -{ - sAnim_GeneralFrame0, - sAnim_SIRFETCHD_1, -}; - -static const union AnimCmd *const sAnims_MR_RIME[] = -{ - sAnim_GeneralFrame0, - sAnim_MR_RIME_1, -}; - -static const union AnimCmd *const sAnims_RUNERIGUS[] = -{ - sAnim_GeneralFrame0, - sAnim_RUNERIGUS_1, -}; - -static const union AnimCmd *const sAnims_MILCERY[] = -{ - sAnim_GeneralFrame0, - sAnim_MILCERY_1, -}; - -static const union AnimCmd *const sAnims_ALCREMIE[] = -{ - sAnim_GeneralFrame0, - sAnim_ALCREMIE_1, -}; - -static const union AnimCmd *const sAnims_FALINKS[] = -{ - sAnim_GeneralFrame0, - sAnim_FALINKS_1, -}; - -static const union AnimCmd *const sAnims_PINCURCHIN[] = -{ - sAnim_GeneralFrame0, - sAnim_PINCURCHIN_1, -}; - -static const union AnimCmd *const sAnims_SNOM[] = -{ - sAnim_GeneralFrame0, - sAnim_SNOM_1, -}; - -static const union AnimCmd *const sAnims_FROSMOTH[] = -{ - sAnim_GeneralFrame0, - sAnim_FROSMOTH_1, -}; - -static const union AnimCmd *const sAnims_STONJOURNER[] = -{ - sAnim_GeneralFrame0, - sAnim_STONJOURNER_1, -}; - -static const union AnimCmd *const sAnims_EISCUE[] = -{ - sAnim_GeneralFrame0, - sAnim_EISCUE_1, -}; - -static const union AnimCmd *const sAnims_INDEEDEE[] = -{ - sAnim_GeneralFrame0, - sAnim_INDEEDEE_1, -}; - -static const union AnimCmd *const sAnims_MORPEKO[] = -{ - sAnim_GeneralFrame0, - sAnim_MORPEKO_1, -}; - -static const union AnimCmd *const sAnims_CUFANT[] = -{ - sAnim_GeneralFrame0, - sAnim_CUFANT_1, -}; - -static const union AnimCmd *const sAnims_COPPERAJAH[] = -{ - sAnim_GeneralFrame0, - sAnim_COPPERAJAH_1, -}; - -static const union AnimCmd *const sAnims_DRACOZOLT[] = -{ - sAnim_GeneralFrame0, - sAnim_DRACOZOLT_1, -}; - -static const union AnimCmd *const sAnims_ARCTOZOLT[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCTOZOLT_1, -}; - -static const union AnimCmd *const sAnims_DRACOVISH[] = -{ - sAnim_GeneralFrame0, - sAnim_DRACOVISH_1, -}; - -static const union AnimCmd *const sAnims_ARCTOVISH[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCTOVISH_1, -}; - -static const union AnimCmd *const sAnims_DURALUDON[] = -{ - sAnim_GeneralFrame0, - sAnim_DURALUDON_1, -}; - -static const union AnimCmd *const sAnims_DREEPY[] = -{ - sAnim_GeneralFrame0, - sAnim_DREEPY_1, -}; - -static const union AnimCmd *const sAnims_DRAKLOAK[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAKLOAK_1, -}; - -static const union AnimCmd *const sAnims_DRAGAPULT[] = -{ - sAnim_GeneralFrame0, - sAnim_DRAGAPULT_1, -}; - -static const union AnimCmd *const sAnims_ZACIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ZACIAN_1, -}; - -static const union AnimCmd *const sAnims_ZAMAZENTA[] = -{ - sAnim_GeneralFrame0, - sAnim_ZAMAZENTA_1, -}; - -static const union AnimCmd *const sAnims_ETERNATUS[] = -{ - sAnim_GeneralFrame0, - sAnim_ETERNATUS_1, -}; - -static const union AnimCmd *const sAnims_KUBFU[] = -{ - sAnim_GeneralFrame0, - sAnim_KUBFU_1, -}; - -static const union AnimCmd *const sAnims_URSHIFU[] = -{ - sAnim_GeneralFrame0, - sAnim_URSHIFU_1, -}; - -static const union AnimCmd *const sAnims_ZARUDE[] = -{ - sAnim_GeneralFrame0, - sAnim_ZARUDE_1, -}; - -static const union AnimCmd *const sAnims_REGIELEKI[] = -{ - sAnim_GeneralFrame0, - sAnim_REGIELEKI_1, -}; - -static const union AnimCmd *const sAnims_REGIDRAGO[] = -{ - sAnim_GeneralFrame0, - sAnim_REGIDRAGO_1, -}; - -static const union AnimCmd *const sAnims_GLASTRIER[] = -{ - sAnim_GeneralFrame0, - sAnim_GLASTRIER_1, -}; - -static const union AnimCmd *const sAnims_SPECTRIER[] = -{ - sAnim_GeneralFrame0, - sAnim_SPECTRIER_1, -}; - -static const union AnimCmd *const sAnims_CALYREX[] = -{ - sAnim_GeneralFrame0, - sAnim_CALYREX_1, -}; - -static const union AnimCmd *const sAnims_WYRDEER[] = -{ - sAnim_GeneralFrame0, - sAnim_WYRDEER_1, -}; - -static const union AnimCmd *const sAnims_KLEAVOR[] = -{ - sAnim_GeneralFrame0, - sAnim_KLEAVOR_1, -}; - -static const union AnimCmd *const sAnims_URSALUNA[] = -{ - sAnim_GeneralFrame0, - sAnim_URSALUNA_1, -}; - -static const union AnimCmd *const sAnims_BASCULEGION[] = -{ - sAnim_GeneralFrame0, - sAnim_BASCULEGION_1, -}; - -static const union AnimCmd *const sAnims_SNEASLER[] = -{ - sAnim_GeneralFrame0, - sAnim_SNEASLER_1, -}; - -static const union AnimCmd *const sAnims_OVERQWIL[] = -{ - sAnim_GeneralFrame0, - sAnim_OVERQWIL_1, -}; - -static const union AnimCmd *const sAnims_ENAMORUS[] = -{ - sAnim_GeneralFrame0, - sAnim_ENAMORUS_1, -}; +SINGLE_ANIMATION(Grookey); +SINGLE_ANIMATION(Thwackey); +SINGLE_ANIMATION(Rillaboom); +SINGLE_ANIMATION(Scorbunny); +SINGLE_ANIMATION(Raboot); +SINGLE_ANIMATION(Cinderace); +SINGLE_ANIMATION(Sobble); +SINGLE_ANIMATION(Drizzile); +SINGLE_ANIMATION(Inteleon); +SINGLE_ANIMATION(Skwovet); +SINGLE_ANIMATION(Greedent); +SINGLE_ANIMATION(Rookidee); +SINGLE_ANIMATION(Corvisquire); +SINGLE_ANIMATION(Corviknight); +SINGLE_ANIMATION(Blipbug); +SINGLE_ANIMATION(Dottler); +SINGLE_ANIMATION(Orbeetle); +SINGLE_ANIMATION(Nickit); +SINGLE_ANIMATION(Thievul); +SINGLE_ANIMATION(Gossifleur); +SINGLE_ANIMATION(Eldegoss); +SINGLE_ANIMATION(Wooloo); +SINGLE_ANIMATION(Dubwool); +SINGLE_ANIMATION(Chewtle); +SINGLE_ANIMATION(Drednaw); +SINGLE_ANIMATION(Yamper); +SINGLE_ANIMATION(Boltund); +SINGLE_ANIMATION(Rolycoly); +SINGLE_ANIMATION(Carkol); +SINGLE_ANIMATION(Coalossal); +SINGLE_ANIMATION(Applin); +SINGLE_ANIMATION(Flapple); +SINGLE_ANIMATION(Appletun); +SINGLE_ANIMATION(Silicobra); +SINGLE_ANIMATION(Sandaconda); +SINGLE_ANIMATION(Cramorant); +SINGLE_ANIMATION(Arrokuda); +SINGLE_ANIMATION(Barraskewda); +SINGLE_ANIMATION(Toxel); +SINGLE_ANIMATION(Toxtricity); +SINGLE_ANIMATION(Sizzlipede); +SINGLE_ANIMATION(Centiskorch); +SINGLE_ANIMATION(Clobbopus); +SINGLE_ANIMATION(Grapploct); +SINGLE_ANIMATION(Sinistea); +SINGLE_ANIMATION(Polteageist); +SINGLE_ANIMATION(Hatenna); +SINGLE_ANIMATION(Hattrem); +SINGLE_ANIMATION(Hatterene); +SINGLE_ANIMATION(Impidimp); +SINGLE_ANIMATION(Morgrem); +SINGLE_ANIMATION(Grimmsnarl); +SINGLE_ANIMATION(Obstagoon); +SINGLE_ANIMATION(Perrserker); +SINGLE_ANIMATION(Cursola); +SINGLE_ANIMATION(Sirfetchd); +SINGLE_ANIMATION(MrRime); +SINGLE_ANIMATION(Runerigus); +SINGLE_ANIMATION(Milcery); +SINGLE_ANIMATION(Alcremie); +SINGLE_ANIMATION(Falinks); +SINGLE_ANIMATION(Pincurchin); +SINGLE_ANIMATION(Snom); +SINGLE_ANIMATION(Frosmoth); +SINGLE_ANIMATION(Stonjourner); +SINGLE_ANIMATION(Eiscue); +SINGLE_ANIMATION(Indeedee); +SINGLE_ANIMATION(Morpeko); +SINGLE_ANIMATION(Cufant); +SINGLE_ANIMATION(Copperajah); +SINGLE_ANIMATION(Dracozolt); +SINGLE_ANIMATION(Arctozolt); +SINGLE_ANIMATION(Dracovish); +SINGLE_ANIMATION(Arctovish); +SINGLE_ANIMATION(Duraludon); +SINGLE_ANIMATION(Dreepy); +SINGLE_ANIMATION(Drakloak); +SINGLE_ANIMATION(Dragapult); +SINGLE_ANIMATION(Zacian); +SINGLE_ANIMATION(Zamazenta); +SINGLE_ANIMATION(Eternatus); +SINGLE_ANIMATION(Kubfu); +SINGLE_ANIMATION(Urshifu); +SINGLE_ANIMATION(Zarude); +SINGLE_ANIMATION(Regieleki); +SINGLE_ANIMATION(Regidrago); +SINGLE_ANIMATION(Glastrier); +SINGLE_ANIMATION(Spectrier); +SINGLE_ANIMATION(Calyrex); +SINGLE_ANIMATION(Wyrdeer); +SINGLE_ANIMATION(Kleavor); +SINGLE_ANIMATION(Ursaluna); +SINGLE_ANIMATION(Basculegion); +SINGLE_ANIMATION(Sneasler); +SINGLE_ANIMATION(Overqwil); +SINGLE_ANIMATION(Enamorus); #endif - -static const union AnimCmd *const sAnims_VENUSAUR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_VENUSAUR_MEGA_1, -}; - -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[] = -{ - sAnim_GeneralFrame0, - sAnim_CHARIZARD_MEGA_Y_1, -}; - -static const union AnimCmd *const sAnims_BLASTOISE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_BLASTOISE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_BEEDRILL_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_BEEDRILL_MEGA_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOT_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_PIDGEOT_MEGA_1, -}; - -static const union AnimCmd *const sAnims_ALAKAZAM_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_ALAKAZAM_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SLOWBRO_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWBRO_MEGA_1, -}; - -static const union AnimCmd *const sAnims_GENGAR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_GENGAR_MEGA_1, -}; - -static const union AnimCmd *const sAnims_KANGASKHAN_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_KANGASKHAN_MEGA_1, -}; - -static const union AnimCmd *const sAnims_PINSIR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_PINSIR_MEGA_1, -}; - -static const union AnimCmd *const sAnims_GYARADOS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_GYARADOS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_AERODACTYL_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_AERODACTYL_MEGA_1, -}; - -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[] = -{ - sAnim_GeneralFrame0, - sAnim_MEWTWO_MEGA_Y_1, -}; - -static const union AnimCmd *const sAnims_AMPHAROS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_AMPHAROS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_STEELIX_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_STEELIX_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SCIZOR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SCIZOR_MEGA_1, -}; - -static const union AnimCmd *const sAnims_HERACROSS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_HERACROSS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_HOUNDOOM_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_HOUNDOOM_MEGA_1, -}; - -static const union AnimCmd *const sAnims_TYRANITAR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_TYRANITAR_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SCEPTILE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SCEPTILE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_BLAZIKEN_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_BLAZIKEN_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SWAMPERT_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SWAMPERT_MEGA_1, -}; - -static const union AnimCmd *const sAnims_GARDEVOIR_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_GARDEVOIR_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SABLEYE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SABLEYE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_MAWILE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_MAWILE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_AGGRON_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_AGGRON_MEGA_1, -}; - -static const union AnimCmd *const sAnims_MEDICHAM_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_MEDICHAM_MEGA_1, -}; - -static const union AnimCmd *const sAnims_MANECTRIC_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_MANECTRIC_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SHARPEDO_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SHARPEDO_MEGA_1, -}; - -static const union AnimCmd *const sAnims_CAMERUPT_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_CAMERUPT_MEGA_1, -}; - -static const union AnimCmd *const sAnims_ALTARIA_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_ALTARIA_MEGA_1, -}; - -static const union AnimCmd *const sAnims_BANETTE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_BANETTE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_ABSOL_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_ABSOL_MEGA_1, -}; - -static const union AnimCmd *const sAnims_GLALIE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_GLALIE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_SALAMENCE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_SALAMENCE_MEGA_1, -}; - -static const union AnimCmd *const sAnims_METAGROSS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_METAGROSS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_LATIAS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_LATIAS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_LATIOS_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_LATIOS_MEGA_1, -}; - -static const union AnimCmd *const sAnims_KYOGRE_PRIMAL[] = -{ - sAnim_GeneralFrame0, - sAnim_KYOGRE_PRIMAL_1, -}; - -static const union AnimCmd *const sAnims_GROUDON_PRIMAL[] = -{ - sAnim_GeneralFrame0, - sAnim_GROUDON_PRIMAL_1, -}; - -static const union AnimCmd *const sAnims_RAYQUAZA_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_RAYQUAZA_MEGA_1, -}; - +SINGLE_ANIMATION(VenusaurMega); +SINGLE_ANIMATION(CHARIZARD_MEGA_X); +SINGLE_ANIMATION(CHARIZARD_MEGA_Y); +SINGLE_ANIMATION(BlastoiseMega); +SINGLE_ANIMATION(BeedrillMega); +SINGLE_ANIMATION(PidgeotMega); +SINGLE_ANIMATION(AlakazamMega); +SINGLE_ANIMATION(SlowbroMega); +SINGLE_ANIMATION(GengarMega); +SINGLE_ANIMATION(KangaskhanMega); +SINGLE_ANIMATION(PinsirMega); +SINGLE_ANIMATION(GyaradosMega); +SINGLE_ANIMATION(AerodactylMega); +SINGLE_ANIMATION(MEWTWO_MEGA_X); +SINGLE_ANIMATION(MEWTWO_MEGA_Y); +SINGLE_ANIMATION(AmpharosMega); +SINGLE_ANIMATION(SteelixMega); +SINGLE_ANIMATION(ScizorMega); +SINGLE_ANIMATION(HeracrossMega); +SINGLE_ANIMATION(HoundoomMega); +SINGLE_ANIMATION(TyranitarMega); +SINGLE_ANIMATION(SceptileMega); +SINGLE_ANIMATION(BlazikenMega); +SINGLE_ANIMATION(SwampertMega); +SINGLE_ANIMATION(GardevoirMega); +SINGLE_ANIMATION(SableyeMega); +SINGLE_ANIMATION(MawileMega); +SINGLE_ANIMATION(AggronMega); +SINGLE_ANIMATION(MedichamMega); +SINGLE_ANIMATION(ManectricMega); +SINGLE_ANIMATION(SharpedoMega); +SINGLE_ANIMATION(CameruptMega); +SINGLE_ANIMATION(AltariaMega); +SINGLE_ANIMATION(BanetteMega); +SINGLE_ANIMATION(AbsolMega); +SINGLE_ANIMATION(GlalieMega); +SINGLE_ANIMATION(SalamenceMega); +SINGLE_ANIMATION(MetagrossMega); +SINGLE_ANIMATION(LatiasMega); +SINGLE_ANIMATION(LatiosMega); +SINGLE_ANIMATION(KyogrePrimal); +SINGLE_ANIMATION(GroudonPrimal); +SINGLE_ANIMATION(RayquazaMega); #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[] = -{ - sAnim_GeneralFrame0, - sAnim_GARCHOMP_MEGA_1, -}; - -static const union AnimCmd *const sAnims_LUCARIO_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_LUCARIO_MEGA_1, -}; - -static const union AnimCmd *const sAnims_ABOMASNOW_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_ABOMASNOW_MEGA_1, -}; - -static const union AnimCmd *const sAnims_GALLADE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_GALLADE_MEGA_1, -}; +SINGLE_ANIMATION(LopunnyMega); +SINGLE_ANIMATION(GarchompMega); +SINGLE_ANIMATION(LucarioMega); +SINGLE_ANIMATION(AbomasnowMega); +SINGLE_ANIMATION(GalladeMega); #endif - #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd *const sAnims_AUDINO_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_AUDINO_MEGA_1, -}; +SINGLE_ANIMATION(AudinoMega); #endif - #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd *const sAnims_DIANCIE_MEGA[] = -{ - sAnim_GeneralFrame0, - sAnim_DIANCIE_MEGA_1, -}; +SINGLE_ANIMATION(DiancieMega); #endif - -static const union AnimCmd *const sAnims_RATTATA_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_RATTATA_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_RATICATE_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_RATICATE_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_RAICHU_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_RAICHU_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_SANDSHREW_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDSHREW_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_SANDSLASH_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SANDSLASH_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_VULPIX_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_VULPIX_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_NINETALES_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_NINETALES_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_DIGLETT_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_DIGLETT_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_DUGTRIO_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_DUGTRIO_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_MEOWTH_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MEOWTH_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_PERSIAN_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_PERSIAN_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_GEODUDE_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_GEODUDE_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_GRAVELER_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_GRAVELER_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_GOLEM_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_GOLEM_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_GRIMER_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_GRIMER_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_MUK_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MUK_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_EXEGGUTOR_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_EXEGGUTOR_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_MAROWAK_ALOLAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MAROWAK_ALOLAN_1, -}; - -static const union AnimCmd *const sAnims_MEOWTH_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MEOWTH_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_PONYTA_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_PONYTA_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_RAPIDASH_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_RAPIDASH_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_SLOWPOKE_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWPOKE_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_SLOWBRO_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWBRO_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_FARFETCHD_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_FARFETCHD_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_WEEZING_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_WEEZING_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_MR_MIME_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MR_MIME_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_ARTICUNO_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ARTICUNO_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_ZAPDOS_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ZAPDOS_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_MOLTRES_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_MOLTRES_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_SLOWKING_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SLOWKING_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_CORSOLA_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_CORSOLA_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_ZIGZAGOON_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ZIGZAGOON_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_LINOONE_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_LINOONE_GALARIAN_1, -}; - +SINGLE_ANIMATION(RattataAlolan); +SINGLE_ANIMATION(RaticateAlolan); +SINGLE_ANIMATION(RaichuAlolan); +SINGLE_ANIMATION(SandshrewAlolan); +SINGLE_ANIMATION(SandslashAlolan); +SINGLE_ANIMATION(VulpixAlolan); +SINGLE_ANIMATION(NinetalesAlolan); +SINGLE_ANIMATION(DiglettAlolan); +SINGLE_ANIMATION(DugtrioAlolan); +SINGLE_ANIMATION(MeowthAlolan); +SINGLE_ANIMATION(PersianAlolan); +SINGLE_ANIMATION(GeodudeAlolan); +SINGLE_ANIMATION(GravelerAlolan); +SINGLE_ANIMATION(GolemAlolan); +SINGLE_ANIMATION(GrimerAlolan); +SINGLE_ANIMATION(MukAlolan); +SINGLE_ANIMATION(ExeggutorAlolan); +SINGLE_ANIMATION(MarowakAlolan); +SINGLE_ANIMATION(MeowthGalarian); +SINGLE_ANIMATION(PonytaGalarian); +SINGLE_ANIMATION(RapidashGalarian); +SINGLE_ANIMATION(SlowpokeGalarian); +SINGLE_ANIMATION(SlowbroGalarian); +SINGLE_ANIMATION(FarfetchdGalarian); +SINGLE_ANIMATION(WeezingGalarian); +SINGLE_ANIMATION(MrMimeGalarian); +SINGLE_ANIMATION(ArticunoGalarian); +SINGLE_ANIMATION(ZapdosGalarian); +SINGLE_ANIMATION(MoltresGalarian); +SINGLE_ANIMATION(SlowkingGalarian); +SINGLE_ANIMATION(CorsolaGalarian); +SINGLE_ANIMATION(ZigzagoonGalarian); +SINGLE_ANIMATION(LinooneGalarian); #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[] = -{ - sAnim_GeneralFrame0, - sAnim_DARMANITAN_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_YAMASK_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_YAMASK_GALARIAN_1, -}; - -static const union AnimCmd *const sAnims_STUNFISK_GALARIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_STUNFISK_GALARIAN_1, -}; +SINGLE_ANIMATION(DarumakaGalarian); +SINGLE_ANIMATION(DarmanitanGalarian); +SINGLE_ANIMATION(YamaskGalarian); +SINGLE_ANIMATION(StunfiskGalarian); #endif - -static const union AnimCmd *const sAnims_GROWLITHE_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_GROWLITHE_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_ARCANINE_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ARCANINE_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_VOLTORB_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_VOLTORB_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_ELECTRODE_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ELECTRODE_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_TYPHLOSION_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_TYPHLOSION_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_QWILFISH_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_QWILFISH_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_SNEASEL_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_SNEASEL_HISUIAN_1, -}; - +SINGLE_ANIMATION(GrowlitheHisuian); +SINGLE_ANIMATION(ArcanineHisuian); +SINGLE_ANIMATION(VoltorbHisuian); +SINGLE_ANIMATION(ElectrodeHisuian); +SINGLE_ANIMATION(TyphlosionHisuian); +SINGLE_ANIMATION(QwilfishHisuian); +SINGLE_ANIMATION(SneaselHisuian); #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[] = -{ - sAnim_GeneralFrame0, - sAnim_LILLIGANT_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_ZORUA_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ZORUA_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_ZOROARK_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ZOROARK_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_BRAVIARY_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_BRAVIARY_HISUIAN_1, -}; +SINGLE_ANIMATION(SamurottHisuian); +SINGLE_ANIMATION(LilligantHisuian); +SINGLE_ANIMATION(ZoruaHisuian); +SINGLE_ANIMATION(ZoroarkHisuian); +SINGLE_ANIMATION(BraviaryHisuian); #endif - #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[] = -{ - sAnim_GeneralFrame0, - sAnim_GOODRA_HISUIAN_1, -}; - -static const union AnimCmd *const sAnims_AVALUGG_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_AVALUGG_HISUIAN_1, -}; +SINGLE_ANIMATION(SliggooHisuian); +SINGLE_ANIMATION(GoodraHisuian); +SINGLE_ANIMATION(AvaluggHisuian); #endif - #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd *const sAnims_DECIDUEYE_HISUIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_DECIDUEYE_HISUIAN_1, -}; +SINGLE_ANIMATION(DecidueyeHisuian); #endif - -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[] = -{ - sAnim_GeneralFrame0, - sAnim_DEOXYS_DEFENSE_1, - sAnim_DEOXYS_DEFENSE_2, -}; - -static const union AnimCmd *const sAnims_DEOXYS_SPEED[] = -{ - sAnim_GeneralFrame0, - sAnim_DEOXYS_SPEED_1, - sAnim_DEOXYS_SPEED_2, -}; - +SINGLE_ANIMATION(PikachuCosplay); +SINGLE_ANIMATION(PikachuRockStar); +SINGLE_ANIMATION(PikachuBelle); +SINGLE_ANIMATION(PikachuPopStar); +SINGLE_ANIMATION(PIKACHU_PH_D); +SINGLE_ANIMATION(PikachuLibre); +SINGLE_ANIMATION(PikachuOriginalCap); +SINGLE_ANIMATION(PikachuHoennCap); +SINGLE_ANIMATION(PikachuSinnohCap); +SINGLE_ANIMATION(PikachuUnovaCap); +SINGLE_ANIMATION(PikachuKalosCap); +SINGLE_ANIMATION(PikachuAlolaCap); +SINGLE_ANIMATION(PikachuPartnerCap); +SINGLE_ANIMATION(PikachuWorldCap); +SINGLE_ANIMATION(PichuSpikyEared); +DOUBLE_ANIMATION(DeoxysAttack); +DOUBLE_ANIMATION(DeoxysDefense); +DOUBLE_ANIMATION(DeoxysSpeed); #if P_GEN_4_POKEMON == TRUE -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_SHAYMIN_SKY[] = -{ - sAnim_GeneralFrame0, - sAnim_SHAYMIN_SKY_1, -}; +SINGLE_ANIMATION(DialgaOrigin); +SINGLE_ANIMATION(PalkiaOrigin); +DOUBLE_ANIMATION(GiratinaOrigin); +SINGLE_ANIMATION(ShayminSky); #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_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_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_KELDEO_RESOLUTE[] = -{ - sAnim_GeneralFrame0, - sAnim_KELDEO_RESOLUTE_1, -}; - -static const union AnimCmd *const sAnims_MELOETTA_PIROUETTE[] = -{ - sAnim_GeneralFrame0, - sAnim_MELOETTA_PIROUETTE_1, -}; +SINGLE_ANIMATION(DarmanitanZenMode); +SINGLE_ANIMATION(DarmanitanZenModeGalarian); +SINGLE_ANIMATION(TornadusTherian); +SINGLE_ANIMATION(ThundurusTherian); +SINGLE_ANIMATION(LandorusTherian); +SINGLE_ANIMATION(KyuremBlack); +SINGLE_ANIMATION(KyuremWhite); +SINGLE_ANIMATION(KeldeoResolute); +SINGLE_ANIMATION(MeloettaPirouette); #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_ZYGARDE_10[] = -{ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_10_1, -}; - -static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] = -{ - sAnim_GeneralFrame0, - sAnim_ZYGARDE_COMPLETE_1, -}; - -static const union AnimCmd *const sAnims_HOOPA_UNBOUND[] = -{ - sAnim_GeneralFrame0, - sAnim_HOOPA_UNBOUND_1, -}; +SINGLE_ANIMATION(AegislashBlade); +SINGLE_ANIMATION(Zygarde10); +SINGLE_ANIMATION(ZygardeComplete); +SINGLE_ANIMATION(HoopaUnbound); #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, -}; +SINGLE_ANIMATION(MiniorCore); +SINGLE_ANIMATION(WishiwashiSchool); +SINGLE_ANIMATION(MimikyuBusted); +SINGLE_ANIMATION(LycanrocMidnight); +SINGLE_ANIMATION(LycanrocDusk); #endif - #if P_GEN_8_POKEMON == TRUE -static const union AnimCmd *const sAnims_ENAMORUS_THERIAN[] = -{ - sAnim_GeneralFrame0, - sAnim_ENAMORUS_THERIAN_1, -}; +SINGLE_ANIMATION(EnamorusTherian); #endif -#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims - const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { - ANIM_CMD(NONE), - ANIM_CMD(BULBASAUR), - ANIM_CMD(IVYSAUR), - ANIM_CMD(VENUSAUR), - ANIM_CMD(CHARMANDER), - ANIM_CMD(CHARMELEON), - ANIM_CMD(CHARIZARD), - ANIM_CMD(SQUIRTLE), - ANIM_CMD(WARTORTLE), - ANIM_CMD(BLASTOISE), - ANIM_CMD(CATERPIE), - ANIM_CMD(METAPOD), - ANIM_CMD(BUTTERFREE), - ANIM_CMD(WEEDLE), - ANIM_CMD(KAKUNA), - ANIM_CMD(BEEDRILL), - ANIM_CMD(PIDGEY), - ANIM_CMD(PIDGEOTTO), - ANIM_CMD(PIDGEOT), - ANIM_CMD(RATTATA), - ANIM_CMD(RATICATE), - ANIM_CMD(SPEAROW), - ANIM_CMD(FEAROW), - ANIM_CMD(EKANS), - ANIM_CMD(ARBOK), - ANIM_CMD(PIKACHU), - ANIM_CMD(RAICHU), - ANIM_CMD(SANDSHREW), - ANIM_CMD(SANDSLASH), - ANIM_CMD(NIDORAN_F), - ANIM_CMD(NIDORINA), - ANIM_CMD(NIDOQUEEN), - ANIM_CMD(NIDORAN_M), - ANIM_CMD(NIDORINO), - ANIM_CMD(NIDOKING), - ANIM_CMD(CLEFAIRY), - ANIM_CMD(CLEFABLE), - ANIM_CMD(VULPIX), - ANIM_CMD(NINETALES), - ANIM_CMD(JIGGLYPUFF), - ANIM_CMD(WIGGLYTUFF), - ANIM_CMD(ZUBAT), - ANIM_CMD(GOLBAT), - ANIM_CMD(ODDISH), - ANIM_CMD(GLOOM), - ANIM_CMD(VILEPLUME), - ANIM_CMD(PARAS), - ANIM_CMD(PARASECT), - ANIM_CMD(VENONAT), - ANIM_CMD(VENOMOTH), - ANIM_CMD(DIGLETT), - ANIM_CMD(DUGTRIO), - ANIM_CMD(MEOWTH), - ANIM_CMD(PERSIAN), - ANIM_CMD(PSYDUCK), - ANIM_CMD(GOLDUCK), - ANIM_CMD(MANKEY), - ANIM_CMD(PRIMEAPE), - ANIM_CMD(GROWLITHE), - ANIM_CMD(ARCANINE), - ANIM_CMD(POLIWAG), - ANIM_CMD(POLIWHIRL), - ANIM_CMD(POLIWRATH), - ANIM_CMD(ABRA), - ANIM_CMD(KADABRA), - ANIM_CMD(ALAKAZAM), - ANIM_CMD(MACHOP), - ANIM_CMD(MACHOKE), - ANIM_CMD(MACHAMP), - ANIM_CMD(BELLSPROUT), - ANIM_CMD(WEEPINBELL), - ANIM_CMD(VICTREEBEL), - ANIM_CMD(TENTACOOL), - ANIM_CMD(TENTACRUEL), - ANIM_CMD(GEODUDE), - ANIM_CMD(GRAVELER), - ANIM_CMD(GOLEM), - ANIM_CMD(PONYTA), - ANIM_CMD(RAPIDASH), - ANIM_CMD(SLOWPOKE), - ANIM_CMD(SLOWBRO), - ANIM_CMD(MAGNEMITE), - ANIM_CMD(MAGNETON), - ANIM_CMD(FARFETCHD), - ANIM_CMD(DODUO), - ANIM_CMD(DODRIO), - ANIM_CMD(SEEL), - ANIM_CMD(DEWGONG), - ANIM_CMD(GRIMER), - ANIM_CMD(MUK), - ANIM_CMD(SHELLDER), - ANIM_CMD(CLOYSTER), - ANIM_CMD(GASTLY), - ANIM_CMD(HAUNTER), - ANIM_CMD(GENGAR), - ANIM_CMD(ONIX), - ANIM_CMD(DROWZEE), - ANIM_CMD(HYPNO), - ANIM_CMD(KRABBY), - ANIM_CMD(KINGLER), - ANIM_CMD(VOLTORB), - ANIM_CMD(ELECTRODE), - ANIM_CMD(EXEGGCUTE), - ANIM_CMD(EXEGGUTOR), - ANIM_CMD(CUBONE), - ANIM_CMD(MAROWAK), - ANIM_CMD(HITMONLEE), - ANIM_CMD(HITMONCHAN), - ANIM_CMD(LICKITUNG), - ANIM_CMD(KOFFING), - ANIM_CMD(WEEZING), - ANIM_CMD(RHYHORN), - ANIM_CMD(RHYDON), - ANIM_CMD(CHANSEY), - ANIM_CMD(TANGELA), - ANIM_CMD(KANGASKHAN), - ANIM_CMD(HORSEA), - ANIM_CMD(SEADRA), - ANIM_CMD(GOLDEEN), - ANIM_CMD(SEAKING), - ANIM_CMD(STARYU), - ANIM_CMD(STARMIE), - ANIM_CMD(MR_MIME), - ANIM_CMD(SCYTHER), - ANIM_CMD(JYNX), - ANIM_CMD(ELECTABUZZ), - ANIM_CMD(MAGMAR), - ANIM_CMD(PINSIR), - ANIM_CMD(TAUROS), - ANIM_CMD(MAGIKARP), - ANIM_CMD(GYARADOS), - ANIM_CMD(LAPRAS), - ANIM_CMD(DITTO), - ANIM_CMD(EEVEE), - ANIM_CMD(VAPOREON), - ANIM_CMD(JOLTEON), - ANIM_CMD(FLAREON), - ANIM_CMD(PORYGON), - ANIM_CMD(OMANYTE), - ANIM_CMD(OMASTAR), - ANIM_CMD(KABUTO), - ANIM_CMD(KABUTOPS), - ANIM_CMD(AERODACTYL), - ANIM_CMD(SNORLAX), - ANIM_CMD(ARTICUNO), - ANIM_CMD(ZAPDOS), - ANIM_CMD(MOLTRES), - ANIM_CMD(DRATINI), - ANIM_CMD(DRAGONAIR), - ANIM_CMD(DRAGONITE), - ANIM_CMD(MEWTWO), - ANIM_CMD(MEW), - ANIM_CMD(CHIKORITA), - ANIM_CMD(BAYLEEF), - ANIM_CMD(MEGANIUM), - ANIM_CMD(CYNDAQUIL), - ANIM_CMD(QUILAVA), - ANIM_CMD(TYPHLOSION), - ANIM_CMD(TOTODILE), - ANIM_CMD(CROCONAW), - ANIM_CMD(FERALIGATR), - ANIM_CMD(SENTRET), - ANIM_CMD(FURRET), - ANIM_CMD(HOOTHOOT), - ANIM_CMD(NOCTOWL), - ANIM_CMD(LEDYBA), - ANIM_CMD(LEDIAN), - ANIM_CMD(SPINARAK), - ANIM_CMD(ARIADOS), - ANIM_CMD(CROBAT), - ANIM_CMD(CHINCHOU), - ANIM_CMD(LANTURN), - ANIM_CMD(PICHU), - ANIM_CMD(CLEFFA), - ANIM_CMD(IGGLYBUFF), - ANIM_CMD(TOGEPI), - ANIM_CMD(TOGETIC), - ANIM_CMD(NATU), - ANIM_CMD(XATU), - ANIM_CMD(MAREEP), - ANIM_CMD(FLAAFFY), - ANIM_CMD(AMPHAROS), - ANIM_CMD(BELLOSSOM), - ANIM_CMD(MARILL), - ANIM_CMD(AZUMARILL), - ANIM_CMD(SUDOWOODO), - ANIM_CMD(POLITOED), - ANIM_CMD(HOPPIP), - ANIM_CMD(SKIPLOOM), - ANIM_CMD(JUMPLUFF), - ANIM_CMD(AIPOM), - ANIM_CMD(SUNKERN), - ANIM_CMD(SUNFLORA), - ANIM_CMD(YANMA), - ANIM_CMD(WOOPER), - ANIM_CMD(QUAGSIRE), - ANIM_CMD(ESPEON), - ANIM_CMD(UMBREON), - ANIM_CMD(MURKROW), - ANIM_CMD(SLOWKING), - ANIM_CMD(MISDREAVUS), - ANIM_CMD(UNOWN), - ANIM_CMD(WOBBUFFET), - ANIM_CMD(GIRAFARIG), - ANIM_CMD(PINECO), - ANIM_CMD(FORRETRESS), - ANIM_CMD(DUNSPARCE), - ANIM_CMD(GLIGAR), - ANIM_CMD(STEELIX), - ANIM_CMD(SNUBBULL), - ANIM_CMD(GRANBULL), - ANIM_CMD(QWILFISH), - ANIM_CMD(SCIZOR), - ANIM_CMD(SHUCKLE), - ANIM_CMD(HERACROSS), - ANIM_CMD(SNEASEL), - ANIM_CMD(TEDDIURSA), - ANIM_CMD(URSARING), - ANIM_CMD(SLUGMA), - ANIM_CMD(MAGCARGO), - ANIM_CMD(SWINUB), - ANIM_CMD(PILOSWINE), - ANIM_CMD(CORSOLA), - ANIM_CMD(REMORAID), - ANIM_CMD(OCTILLERY), - ANIM_CMD(DELIBIRD), - ANIM_CMD(MANTINE), - ANIM_CMD(SKARMORY), - ANIM_CMD(HOUNDOUR), - ANIM_CMD(HOUNDOOM), - ANIM_CMD(KINGDRA), - ANIM_CMD(PHANPY), - ANIM_CMD(DONPHAN), - ANIM_CMD(PORYGON2), - ANIM_CMD(STANTLER), - ANIM_CMD(SMEARGLE), - ANIM_CMD(TYROGUE), - ANIM_CMD(HITMONTOP), - ANIM_CMD(SMOOCHUM), - ANIM_CMD(ELEKID), - ANIM_CMD(MAGBY), - ANIM_CMD(MILTANK), - ANIM_CMD(BLISSEY), - ANIM_CMD(RAIKOU), - ANIM_CMD(ENTEI), - ANIM_CMD(SUICUNE), - ANIM_CMD(LARVITAR), - ANIM_CMD(PUPITAR), - ANIM_CMD(TYRANITAR), - ANIM_CMD(LUGIA), - ANIM_CMD(HO_OH), - ANIM_CMD(CELEBI), - ANIM_CMD(TREECKO), - ANIM_CMD(GROVYLE), - ANIM_CMD(SCEPTILE), - ANIM_CMD(TORCHIC), - ANIM_CMD(COMBUSKEN), - ANIM_CMD(BLAZIKEN), - ANIM_CMD(MUDKIP), - ANIM_CMD(MARSHTOMP), - ANIM_CMD(SWAMPERT), - ANIM_CMD(POOCHYENA), - ANIM_CMD(MIGHTYENA), - ANIM_CMD(ZIGZAGOON), - ANIM_CMD(LINOONE), - ANIM_CMD(WURMPLE), - ANIM_CMD(SILCOON), - ANIM_CMD(BEAUTIFLY), - ANIM_CMD(CASCOON), - ANIM_CMD(DUSTOX), - ANIM_CMD(LOTAD), - ANIM_CMD(LOMBRE), - ANIM_CMD(LUDICOLO), - ANIM_CMD(SEEDOT), - ANIM_CMD(NUZLEAF), - ANIM_CMD(SHIFTRY), - ANIM_CMD(NINCADA), - ANIM_CMD(NINJASK), - ANIM_CMD(SHEDINJA), - ANIM_CMD(TAILLOW), - ANIM_CMD(SWELLOW), - ANIM_CMD(SHROOMISH), - ANIM_CMD(BRELOOM), - ANIM_CMD(SPINDA), - ANIM_CMD(WINGULL), - ANIM_CMD(PELIPPER), - ANIM_CMD(SURSKIT), - ANIM_CMD(MASQUERAIN), - ANIM_CMD(WAILMER), - ANIM_CMD(WAILORD), - ANIM_CMD(SKITTY), - ANIM_CMD(DELCATTY), - ANIM_CMD(KECLEON), - ANIM_CMD(BALTOY), - ANIM_CMD(CLAYDOL), - ANIM_CMD(NOSEPASS), - ANIM_CMD(TORKOAL), - ANIM_CMD(SABLEYE), - ANIM_CMD(BARBOACH), - ANIM_CMD(WHISCASH), - ANIM_CMD(LUVDISC), - ANIM_CMD(CORPHISH), - ANIM_CMD(CRAWDAUNT), - ANIM_CMD(FEEBAS), - ANIM_CMD(MILOTIC), - ANIM_CMD(CARVANHA), - ANIM_CMD(SHARPEDO), - ANIM_CMD(TRAPINCH), - ANIM_CMD(VIBRAVA), - ANIM_CMD(FLYGON), - ANIM_CMD(MAKUHITA), - ANIM_CMD(HARIYAMA), - ANIM_CMD(ELECTRIKE), - ANIM_CMD(MANECTRIC), - ANIM_CMD(NUMEL), - ANIM_CMD(CAMERUPT), - ANIM_CMD(SPHEAL), - ANIM_CMD(SEALEO), - ANIM_CMD(WALREIN), - ANIM_CMD(CACNEA), - ANIM_CMD(CACTURNE), - ANIM_CMD(SNORUNT), - ANIM_CMD(GLALIE), - ANIM_CMD(LUNATONE), - ANIM_CMD(SOLROCK), - ANIM_CMD(AZURILL), - ANIM_CMD(SPOINK), - ANIM_CMD(GRUMPIG), - ANIM_CMD(PLUSLE), - ANIM_CMD(MINUN), - ANIM_CMD(MAWILE), - ANIM_CMD(MEDITITE), - ANIM_CMD(MEDICHAM), - ANIM_CMD(SWABLU), - ANIM_CMD(ALTARIA), - ANIM_CMD(WYNAUT), - ANIM_CMD(DUSKULL), - ANIM_CMD(DUSCLOPS), - ANIM_CMD(ROSELIA), - ANIM_CMD(SLAKOTH), - ANIM_CMD(VIGOROTH), - ANIM_CMD(SLAKING), - ANIM_CMD(GULPIN), - ANIM_CMD(SWALOT), - ANIM_CMD(TROPIUS), - ANIM_CMD(WHISMUR), - ANIM_CMD(LOUDRED), - ANIM_CMD(EXPLOUD), - ANIM_CMD(CLAMPERL), - ANIM_CMD(HUNTAIL), - ANIM_CMD(GOREBYSS), - ANIM_CMD(ABSOL), - ANIM_CMD(SHUPPET), - ANIM_CMD(BANETTE), - ANIM_CMD(SEVIPER), - ANIM_CMD(ZANGOOSE), - ANIM_CMD(RELICANTH), - ANIM_CMD(ARON), - ANIM_CMD(LAIRON), - ANIM_CMD(AGGRON), - ANIM_CMD(CASTFORM), - ANIM_CMD(VOLBEAT), - ANIM_CMD(ILLUMISE), - ANIM_CMD(LILEEP), - ANIM_CMD(CRADILY), - ANIM_CMD(ANORITH), - ANIM_CMD(ARMALDO), - ANIM_CMD(RALTS), - ANIM_CMD(KIRLIA), - ANIM_CMD(GARDEVOIR), - ANIM_CMD(BAGON), - ANIM_CMD(SHELGON), - ANIM_CMD(SALAMENCE), - ANIM_CMD(BELDUM), - ANIM_CMD(METANG), - ANIM_CMD(METAGROSS), - ANIM_CMD(REGIROCK), - ANIM_CMD(REGICE), - ANIM_CMD(REGISTEEL), - ANIM_CMD(KYOGRE), - ANIM_CMD(GROUDON), - ANIM_CMD(RAYQUAZA), - ANIM_CMD(LATIAS), - ANIM_CMD(LATIOS), - ANIM_CMD(JIRACHI), - ANIM_CMD(DEOXYS), - ANIM_CMD(CHIMECHO), + [SPECIES_NONE] = sAnims_None, + [SPECIES_BULBASAUR] = sAnims_Bulbasaur, + [SPECIES_IVYSAUR] = sAnims_Ivysaur, + [SPECIES_VENUSAUR] = sAnims_Venusaur, + [SPECIES_CHARMANDER] = sAnims_Charmander, + [SPECIES_CHARMELEON] = sAnims_Charmeleon, + [SPECIES_CHARIZARD] = sAnims_Charizard, + [SPECIES_SQUIRTLE] = sAnims_Squirtle, + [SPECIES_WARTORTLE] = sAnims_Wartortle, + [SPECIES_BLASTOISE] = sAnims_Blastoise, + [SPECIES_CATERPIE] = sAnims_Caterpie, + [SPECIES_METAPOD] = sAnims_Metapod, + [SPECIES_BUTTERFREE] = sAnims_Butterfree, + [SPECIES_WEEDLE] = sAnims_Weedle, + [SPECIES_KAKUNA] = sAnims_Kakuna, + [SPECIES_BEEDRILL] = sAnims_Beedrill, + [SPECIES_PIDGEY] = sAnims_Pidgey, + [SPECIES_PIDGEOTTO] = sAnims_Pidgeotto, + [SPECIES_PIDGEOT] = sAnims_Pidgeot, + [SPECIES_RATTATA] = sAnims_Rattata, + [SPECIES_RATICATE] = sAnims_Raticate, + [SPECIES_SPEAROW] = sAnims_Spearow, + [SPECIES_FEAROW] = sAnims_Fearow, + [SPECIES_EKANS] = sAnims_Ekans, + [SPECIES_ARBOK] = sAnims_Arbok, + [SPECIES_PIKACHU] = sAnims_Pikachu, + [SPECIES_RAICHU] = sAnims_Raichu, + [SPECIES_SANDSHREW] = sAnims_Sandshrew, + [SPECIES_SANDSLASH] = sAnims_Sandslash, + [SPECIES_NIDORAN_F] = sAnims_NidoranF, + [SPECIES_NIDORINA] = sAnims_Nidorina, + [SPECIES_NIDOQUEEN] = sAnims_Nidoqueen, + [SPECIES_NIDORAN_M] = sAnims_NidoranM, + [SPECIES_NIDORINO] = sAnims_Nidorino, + [SPECIES_NIDOKING] = sAnims_Nidoking, + [SPECIES_CLEFAIRY] = sAnims_Clefairy, + [SPECIES_CLEFABLE] = sAnims_Clefable, + [SPECIES_VULPIX] = sAnims_Vulpix, + [SPECIES_NINETALES] = sAnims_Ninetales, + [SPECIES_JIGGLYPUFF] = sAnims_Jigglypuff, + [SPECIES_WIGGLYTUFF] = sAnims_Wigglytuff, + [SPECIES_ZUBAT] = sAnims_Zubat, + [SPECIES_GOLBAT] = sAnims_Golbat, + [SPECIES_ODDISH] = sAnims_Oddish, + [SPECIES_GLOOM] = sAnims_Gloom, + [SPECIES_VILEPLUME] = sAnims_Vileplume, + [SPECIES_PARAS] = sAnims_Paras, + [SPECIES_PARASECT] = sAnims_Parasect, + [SPECIES_VENONAT] = sAnims_Venonat, + [SPECIES_VENOMOTH] = sAnims_Venomoth, + [SPECIES_DIGLETT] = sAnims_Diglett, + [SPECIES_DUGTRIO] = sAnims_Dugtrio, + [SPECIES_MEOWTH] = sAnims_Meowth, + [SPECIES_PERSIAN] = sAnims_Persian, + [SPECIES_PSYDUCK] = sAnims_Psyduck, + [SPECIES_GOLDUCK] = sAnims_Golduck, + [SPECIES_MANKEY] = sAnims_Mankey, + [SPECIES_PRIMEAPE] = sAnims_Primeape, + [SPECIES_GROWLITHE] = sAnims_Growlithe, + [SPECIES_ARCANINE] = sAnims_Arcanine, + [SPECIES_POLIWAG] = sAnims_Poliwag, + [SPECIES_POLIWHIRL] = sAnims_Poliwhirl, + [SPECIES_POLIWRATH] = sAnims_Poliwrath, + [SPECIES_ABRA] = sAnims_Abra, + [SPECIES_KADABRA] = sAnims_Kadabra, + [SPECIES_ALAKAZAM] = sAnims_Alakazam, + [SPECIES_MACHOP] = sAnims_Machop, + [SPECIES_MACHOKE] = sAnims_Machoke, + [SPECIES_MACHAMP] = sAnims_Machamp, + [SPECIES_BELLSPROUT] = sAnims_Bellsprout, + [SPECIES_WEEPINBELL] = sAnims_Weepinbell, + [SPECIES_VICTREEBEL] = sAnims_Victreebel, + [SPECIES_TENTACOOL] = sAnims_Tentacool, + [SPECIES_TENTACRUEL] = sAnims_Tentacruel, + [SPECIES_GEODUDE] = sAnims_Geodude, + [SPECIES_GRAVELER] = sAnims_Graveler, + [SPECIES_GOLEM] = sAnims_Golem, + [SPECIES_PONYTA] = sAnims_Ponyta, + [SPECIES_RAPIDASH] = sAnims_Rapidash, + [SPECIES_SLOWPOKE] = sAnims_Slowpoke, + [SPECIES_SLOWBRO] = sAnims_Slowbro, + [SPECIES_MAGNEMITE] = sAnims_Magnemite, + [SPECIES_MAGNETON] = sAnims_Magneton, + [SPECIES_FARFETCHD] = sAnims_Farfetchd, + [SPECIES_DODUO] = sAnims_Doduo, + [SPECIES_DODRIO] = sAnims_Dodrio, + [SPECIES_SEEL] = sAnims_Seel, + [SPECIES_DEWGONG] = sAnims_Dewgong, + [SPECIES_GRIMER] = sAnims_Grimer, + [SPECIES_MUK] = sAnims_Muk, + [SPECIES_SHELLDER] = sAnims_Shellder, + [SPECIES_CLOYSTER] = sAnims_Cloyster, + [SPECIES_GASTLY] = sAnims_Gastly, + [SPECIES_HAUNTER] = sAnims_Haunter, + [SPECIES_GENGAR] = sAnims_Gengar, + [SPECIES_ONIX] = sAnims_Onix, + [SPECIES_DROWZEE] = sAnims_Drowzee, + [SPECIES_HYPNO] = sAnims_Hypno, + [SPECIES_KRABBY] = sAnims_Krabby, + [SPECIES_KINGLER] = sAnims_Kingler, + [SPECIES_VOLTORB] = sAnims_Voltorb, + [SPECIES_ELECTRODE] = sAnims_Electrode, + [SPECIES_EXEGGCUTE] = sAnims_Exeggcute, + [SPECIES_EXEGGUTOR] = sAnims_Exeggutor, + [SPECIES_CUBONE] = sAnims_Cubone, + [SPECIES_MAROWAK] = sAnims_Marowak, + [SPECIES_HITMONLEE] = sAnims_Hitmonlee, + [SPECIES_HITMONCHAN] = sAnims_Hitmonchan, + [SPECIES_LICKITUNG] = sAnims_Lickitung, + [SPECIES_KOFFING] = sAnims_Koffing, + [SPECIES_WEEZING] = sAnims_Weezing, + [SPECIES_RHYHORN] = sAnims_Rhyhorn, + [SPECIES_RHYDON] = sAnims_Rhydon, + [SPECIES_CHANSEY] = sAnims_Chansey, + [SPECIES_TANGELA] = sAnims_Tangela, + [SPECIES_KANGASKHAN] = sAnims_Kangaskhan, + [SPECIES_HORSEA] = sAnims_Horsea, + [SPECIES_SEADRA] = sAnims_Seadra, + [SPECIES_GOLDEEN] = sAnims_Goldeen, + [SPECIES_SEAKING] = sAnims_Seaking, + [SPECIES_STARYU] = sAnims_Staryu, + [SPECIES_STARMIE] = sAnims_Starmie, + [SPECIES_MR_MIME] = sAnims_MrMime, + [SPECIES_SCYTHER] = sAnims_Scyther, + [SPECIES_JYNX] = sAnims_Jynx, + [SPECIES_ELECTABUZZ] = sAnims_Electabuzz, + [SPECIES_MAGMAR] = sAnims_Magmar, + [SPECIES_PINSIR] = sAnims_Pinsir, + [SPECIES_TAUROS] = sAnims_Tauros, + [SPECIES_MAGIKARP] = sAnims_Magikarp, + [SPECIES_GYARADOS] = sAnims_Gyarados, + [SPECIES_LAPRAS] = sAnims_Lapras, + [SPECIES_DITTO] = sAnims_Ditto, + [SPECIES_EEVEE] = sAnims_Eevee, + [SPECIES_VAPOREON] = sAnims_Vaporeon, + [SPECIES_JOLTEON] = sAnims_Jolteon, + [SPECIES_FLAREON] = sAnims_Flareon, + [SPECIES_PORYGON] = sAnims_Porygon, + [SPECIES_OMANYTE] = sAnims_Omanyte, + [SPECIES_OMASTAR] = sAnims_Omastar, + [SPECIES_KABUTO] = sAnims_Kabuto, + [SPECIES_KABUTOPS] = sAnims_Kabutops, + [SPECIES_AERODACTYL] = sAnims_Aerodactyl, + [SPECIES_SNORLAX] = sAnims_Snorlax, + [SPECIES_ARTICUNO] = sAnims_Articuno, + [SPECIES_ZAPDOS] = sAnims_Zapdos, + [SPECIES_MOLTRES] = sAnims_Moltres, + [SPECIES_DRATINI] = sAnims_Dratini, + [SPECIES_DRAGONAIR] = sAnims_Dragonair, + [SPECIES_DRAGONITE] = sAnims_Dragonite, + [SPECIES_MEWTWO] = sAnims_Mewtwo, + [SPECIES_MEW] = sAnims_Mew, + [SPECIES_CHIKORITA] = sAnims_Chikorita, + [SPECIES_BAYLEEF] = sAnims_Bayleef, + [SPECIES_MEGANIUM] = sAnims_Meganium, + [SPECIES_CYNDAQUIL] = sAnims_Cyndaquil, + [SPECIES_QUILAVA] = sAnims_Quilava, + [SPECIES_TYPHLOSION] = sAnims_Typhlosion, + [SPECIES_TOTODILE] = sAnims_Totodile, + [SPECIES_CROCONAW] = sAnims_Croconaw, + [SPECIES_FERALIGATR] = sAnims_Feraligatr, + [SPECIES_SENTRET] = sAnims_Sentret, + [SPECIES_FURRET] = sAnims_Furret, + [SPECIES_HOOTHOOT] = sAnims_Hoothoot, + [SPECIES_NOCTOWL] = sAnims_Noctowl, + [SPECIES_LEDYBA] = sAnims_Ledyba, + [SPECIES_LEDIAN] = sAnims_Ledian, + [SPECIES_SPINARAK] = sAnims_Spinarak, + [SPECIES_ARIADOS] = sAnims_Ariados, + [SPECIES_CROBAT] = sAnims_Crobat, + [SPECIES_CHINCHOU] = sAnims_Chinchou, + [SPECIES_LANTURN] = sAnims_Lanturn, + [SPECIES_PICHU] = sAnims_Pichu, + [SPECIES_CLEFFA] = sAnims_Cleffa, + [SPECIES_IGGLYBUFF] = sAnims_Igglybuff, + [SPECIES_TOGEPI] = sAnims_Togepi, + [SPECIES_TOGETIC] = sAnims_Togetic, + [SPECIES_NATU] = sAnims_Natu, + [SPECIES_XATU] = sAnims_Xatu, + [SPECIES_MAREEP] = sAnims_Mareep, + [SPECIES_FLAAFFY] = sAnims_Flaaffy, + [SPECIES_AMPHAROS] = sAnims_Ampharos, + [SPECIES_BELLOSSOM] = sAnims_Bellossom, + [SPECIES_MARILL] = sAnims_Marill, + [SPECIES_AZUMARILL] = sAnims_Azumarill, + [SPECIES_SUDOWOODO] = sAnims_Sudowoodo, + [SPECIES_POLITOED] = sAnims_Politoed, + [SPECIES_HOPPIP] = sAnims_Hoppip, + [SPECIES_SKIPLOOM] = sAnims_Skiploom, + [SPECIES_JUMPLUFF] = sAnims_Jumpluff, + [SPECIES_AIPOM] = sAnims_Aipom, + [SPECIES_SUNKERN] = sAnims_Sunkern, + [SPECIES_SUNFLORA] = sAnims_Sunflora, + [SPECIES_YANMA] = sAnims_Yanma, + [SPECIES_WOOPER] = sAnims_Wooper, + [SPECIES_QUAGSIRE] = sAnims_Quagsire, + [SPECIES_ESPEON] = sAnims_Espeon, + [SPECIES_UMBREON] = sAnims_Umbreon, + [SPECIES_MURKROW] = sAnims_Murkrow, + [SPECIES_SLOWKING] = sAnims_Slowking, + [SPECIES_MISDREAVUS] = sAnims_Misdreavus, + [SPECIES_UNOWN] = sAnims_Unown, + [SPECIES_WOBBUFFET] = sAnims_Wobbuffet, + [SPECIES_GIRAFARIG] = sAnims_Girafarig, + [SPECIES_PINECO] = sAnims_Pineco, + [SPECIES_FORRETRESS] = sAnims_Forretress, + [SPECIES_DUNSPARCE] = sAnims_Dunsparce, + [SPECIES_GLIGAR] = sAnims_Gligar, + [SPECIES_STEELIX] = sAnims_Steelix, + [SPECIES_SNUBBULL] = sAnims_Snubbull, + [SPECIES_GRANBULL] = sAnims_Granbull, + [SPECIES_QWILFISH] = sAnims_Qwilfish, + [SPECIES_SCIZOR] = sAnims_Scizor, + [SPECIES_SHUCKLE] = sAnims_Shuckle, + [SPECIES_HERACROSS] = sAnims_Heracross, + [SPECIES_SNEASEL] = sAnims_Sneasel, + [SPECIES_TEDDIURSA] = sAnims_Teddiursa, + [SPECIES_URSARING] = sAnims_Ursaring, + [SPECIES_SLUGMA] = sAnims_Slugma, + [SPECIES_MAGCARGO] = sAnims_Magcargo, + [SPECIES_SWINUB] = sAnims_Swinub, + [SPECIES_PILOSWINE] = sAnims_Piloswine, + [SPECIES_CORSOLA] = sAnims_Corsola, + [SPECIES_REMORAID] = sAnims_Remoraid, + [SPECIES_OCTILLERY] = sAnims_Octillery, + [SPECIES_DELIBIRD] = sAnims_Delibird, + [SPECIES_MANTINE] = sAnims_Mantine, + [SPECIES_SKARMORY] = sAnims_Skarmory, + [SPECIES_HOUNDOUR] = sAnims_Houndour, + [SPECIES_HOUNDOOM] = sAnims_Houndoom, + [SPECIES_KINGDRA] = sAnims_Kingdra, + [SPECIES_PHANPY] = sAnims_Phanpy, + [SPECIES_DONPHAN] = sAnims_Donphan, + [SPECIES_PORYGON2] = sAnims_Porygon2, + [SPECIES_STANTLER] = sAnims_Stantler, + [SPECIES_SMEARGLE] = sAnims_Smeargle, + [SPECIES_TYROGUE] = sAnims_Tyrogue, + [SPECIES_HITMONTOP] = sAnims_Hitmontop, + [SPECIES_SMOOCHUM] = sAnims_Smoochum, + [SPECIES_ELEKID] = sAnims_Elekid, + [SPECIES_MAGBY] = sAnims_Magby, + [SPECIES_MILTANK] = sAnims_Miltank, + [SPECIES_BLISSEY] = sAnims_Blissey, + [SPECIES_RAIKOU] = sAnims_Raikou, + [SPECIES_ENTEI] = sAnims_Entei, + [SPECIES_SUICUNE] = sAnims_Suicune, + [SPECIES_LARVITAR] = sAnims_Larvitar, + [SPECIES_PUPITAR] = sAnims_Pupitar, + [SPECIES_TYRANITAR] = sAnims_Tyranitar, + [SPECIES_LUGIA] = sAnims_Lugia, + [SPECIES_HO_OH] = sAnims_HoOh, + [SPECIES_CELEBI] = sAnims_Celebi, + [SPECIES_TREECKO] = sAnims_Treecko, + [SPECIES_GROVYLE] = sAnims_Grovyle, + [SPECIES_SCEPTILE] = sAnims_Sceptile, + [SPECIES_TORCHIC] = sAnims_Torchic, + [SPECIES_COMBUSKEN] = sAnims_Combusken, + [SPECIES_BLAZIKEN] = sAnims_Blaziken, + [SPECIES_MUDKIP] = sAnims_Mudkip, + [SPECIES_MARSHTOMP] = sAnims_Marshtomp, + [SPECIES_SWAMPERT] = sAnims_Swampert, + [SPECIES_POOCHYENA] = sAnims_Poochyena, + [SPECIES_MIGHTYENA] = sAnims_Mightyena, + [SPECIES_ZIGZAGOON] = sAnims_Zigzagoon, + [SPECIES_LINOONE] = sAnims_Linoone, + [SPECIES_WURMPLE] = sAnims_Wurmple, + [SPECIES_SILCOON] = sAnims_Silcoon, + [SPECIES_BEAUTIFLY] = sAnims_Beautifly, + [SPECIES_CASCOON] = sAnims_Cascoon, + [SPECIES_DUSTOX] = sAnims_Dustox, + [SPECIES_LOTAD] = sAnims_Lotad, + [SPECIES_LOMBRE] = sAnims_Lombre, + [SPECIES_LUDICOLO] = sAnims_Ludicolo, + [SPECIES_SEEDOT] = sAnims_Seedot, + [SPECIES_NUZLEAF] = sAnims_Nuzleaf, + [SPECIES_SHIFTRY] = sAnims_Shiftry, + [SPECIES_NINCADA] = sAnims_Nincada, + [SPECIES_NINJASK] = sAnims_Ninjask, + [SPECIES_SHEDINJA] = sAnims_Shedinja, + [SPECIES_TAILLOW] = sAnims_Taillow, + [SPECIES_SWELLOW] = sAnims_Swellow, + [SPECIES_SHROOMISH] = sAnims_Shroomish, + [SPECIES_BRELOOM] = sAnims_Breloom, + [SPECIES_SPINDA] = sAnims_Spinda, + [SPECIES_WINGULL] = sAnims_Wingull, + [SPECIES_PELIPPER] = sAnims_Pelipper, + [SPECIES_SURSKIT] = sAnims_Surskit, + [SPECIES_MASQUERAIN] = sAnims_Masquerain, + [SPECIES_WAILMER] = sAnims_Wailmer, + [SPECIES_WAILORD] = sAnims_Wailord, + [SPECIES_SKITTY] = sAnims_Skitty, + [SPECIES_DELCATTY] = sAnims_Delcatty, + [SPECIES_KECLEON] = sAnims_Kecleon, + [SPECIES_BALTOY] = sAnims_Baltoy, + [SPECIES_CLAYDOL] = sAnims_Claydol, + [SPECIES_NOSEPASS] = sAnims_Nosepass, + [SPECIES_TORKOAL] = sAnims_Torkoal, + [SPECIES_SABLEYE] = sAnims_Sableye, + [SPECIES_BARBOACH] = sAnims_Barboach, + [SPECIES_WHISCASH] = sAnims_Whiscash, + [SPECIES_LUVDISC] = sAnims_Luvdisc, + [SPECIES_CORPHISH] = sAnims_Corphish, + [SPECIES_CRAWDAUNT] = sAnims_Crawdaunt, + [SPECIES_FEEBAS] = sAnims_Feebas, + [SPECIES_MILOTIC] = sAnims_Milotic, + [SPECIES_CARVANHA] = sAnims_Carvanha, + [SPECIES_SHARPEDO] = sAnims_Sharpedo, + [SPECIES_TRAPINCH] = sAnims_Trapinch, + [SPECIES_VIBRAVA] = sAnims_Vibrava, + [SPECIES_FLYGON] = sAnims_Flygon, + [SPECIES_MAKUHITA] = sAnims_Makuhita, + [SPECIES_HARIYAMA] = sAnims_Hariyama, + [SPECIES_ELECTRIKE] = sAnims_Electrike, + [SPECIES_MANECTRIC] = sAnims_Manectric, + [SPECIES_NUMEL] = sAnims_Numel, + [SPECIES_CAMERUPT] = sAnims_Camerupt, + [SPECIES_SPHEAL] = sAnims_Spheal, + [SPECIES_SEALEO] = sAnims_Sealeo, + [SPECIES_WALREIN] = sAnims_Walrein, + [SPECIES_CACNEA] = sAnims_Cacnea, + [SPECIES_CACTURNE] = sAnims_Cacturne, + [SPECIES_SNORUNT] = sAnims_Snorunt, + [SPECIES_GLALIE] = sAnims_Glalie, + [SPECIES_LUNATONE] = sAnims_Lunatone, + [SPECIES_SOLROCK] = sAnims_Solrock, + [SPECIES_AZURILL] = sAnims_Azurill, + [SPECIES_SPOINK] = sAnims_Spoink, + [SPECIES_GRUMPIG] = sAnims_Grumpig, + [SPECIES_PLUSLE] = sAnims_Plusle, + [SPECIES_MINUN] = sAnims_Minun, + [SPECIES_MAWILE] = sAnims_Mawile, + [SPECIES_MEDITITE] = sAnims_Meditite, + [SPECIES_MEDICHAM] = sAnims_Medicham, + [SPECIES_SWABLU] = sAnims_Swablu, + [SPECIES_ALTARIA] = sAnims_Altaria, + [SPECIES_WYNAUT] = sAnims_Wynaut, + [SPECIES_DUSKULL] = sAnims_Duskull, + [SPECIES_DUSCLOPS] = sAnims_Dusclops, + [SPECIES_ROSELIA] = sAnims_Roselia, + [SPECIES_SLAKOTH] = sAnims_Slakoth, + [SPECIES_VIGOROTH] = sAnims_Vigoroth, + [SPECIES_SLAKING] = sAnims_Slaking, + [SPECIES_GULPIN] = sAnims_Gulpin, + [SPECIES_SWALOT] = sAnims_Swalot, + [SPECIES_TROPIUS] = sAnims_Tropius, + [SPECIES_WHISMUR] = sAnims_Whismur, + [SPECIES_LOUDRED] = sAnims_Loudred, + [SPECIES_EXPLOUD] = sAnims_Exploud, + [SPECIES_CLAMPERL] = sAnims_Clamperl, + [SPECIES_HUNTAIL] = sAnims_Huntail, + [SPECIES_GOREBYSS] = sAnims_Gorebyss, + [SPECIES_ABSOL] = sAnims_Absol, + [SPECIES_SHUPPET] = sAnims_Shuppet, + [SPECIES_BANETTE] = sAnims_Banette, + [SPECIES_SEVIPER] = sAnims_Seviper, + [SPECIES_ZANGOOSE] = sAnims_Zangoose, + [SPECIES_RELICANTH] = sAnims_Relicanth, + [SPECIES_ARON] = sAnims_Aron, + [SPECIES_LAIRON] = sAnims_Lairon, + [SPECIES_AGGRON] = sAnims_Aggron, + [SPECIES_CASTFORM] = sAnims_Castform, + [SPECIES_VOLBEAT] = sAnims_Volbeat, + [SPECIES_ILLUMISE] = sAnims_Illumise, + [SPECIES_LILEEP] = sAnims_Lileep, + [SPECIES_CRADILY] = sAnims_Cradily, + [SPECIES_ANORITH] = sAnims_Anorith, + [SPECIES_ARMALDO] = sAnims_Armaldo, + [SPECIES_RALTS] = sAnims_Ralts, + [SPECIES_KIRLIA] = sAnims_Kirlia, + [SPECIES_GARDEVOIR] = sAnims_Gardevoir, + [SPECIES_BAGON] = sAnims_Bagon, + [SPECIES_SHELGON] = sAnims_Shelgon, + [SPECIES_SALAMENCE] = sAnims_Salamence, + [SPECIES_BELDUM] = sAnims_Beldum, + [SPECIES_METANG] = sAnims_Metang, + [SPECIES_METAGROSS] = sAnims_Metagross, + [SPECIES_REGIROCK] = sAnims_Regirock, + [SPECIES_REGICE] = sAnims_Regice, + [SPECIES_REGISTEEL] = sAnims_Registeel, + [SPECIES_KYOGRE] = sAnims_Kyogre, + [SPECIES_GROUDON] = sAnims_Groudon, + [SPECIES_RAYQUAZA] = sAnims_Rayquaza, + [SPECIES_LATIAS] = sAnims_Latias, + [SPECIES_LATIOS] = sAnims_Latios, + [SPECIES_JIRACHI] = sAnims_Jirachi, + [SPECIES_DEOXYS] = sAnims_Deoxys, + [SPECIES_CHIMECHO] = sAnims_Chimecho, #if P_GEN_4_POKEMON == TRUE - ANIM_CMD(TURTWIG), - ANIM_CMD(GROTLE), - ANIM_CMD(TORTERRA), - ANIM_CMD(CHIMCHAR), - ANIM_CMD(MONFERNO), - ANIM_CMD(INFERNAPE), - ANIM_CMD(PIPLUP), - ANIM_CMD(PRINPLUP), - ANIM_CMD(EMPOLEON), - ANIM_CMD(STARLY), - ANIM_CMD(STARAVIA), - ANIM_CMD(STARAPTOR), - ANIM_CMD(BIDOOF), - ANIM_CMD(BIBAREL), - ANIM_CMD(KRICKETOT), - ANIM_CMD(KRICKETUNE), - ANIM_CMD(SHINX), - ANIM_CMD(LUXIO), - ANIM_CMD(LUXRAY), - ANIM_CMD(BUDEW), - ANIM_CMD(ROSERADE), - ANIM_CMD(CRANIDOS), - ANIM_CMD(RAMPARDOS), - ANIM_CMD(SHIELDON), - ANIM_CMD(BASTIODON), - ANIM_CMD(BURMY), - ANIM_CMD(WORMADAM), - ANIM_CMD(MOTHIM), - ANIM_CMD(COMBEE), - ANIM_CMD(VESPIQUEN), - ANIM_CMD(PACHIRISU), - ANIM_CMD(BUIZEL), - ANIM_CMD(FLOATZEL), - ANIM_CMD(CHERUBI), - ANIM_CMD(CHERRIM), - ANIM_CMD(SHELLOS), - ANIM_CMD(GASTRODON), - ANIM_CMD(AMBIPOM), - ANIM_CMD(DRIFLOON), - ANIM_CMD(DRIFBLIM), - ANIM_CMD(BUNEARY), - ANIM_CMD(LOPUNNY), - ANIM_CMD(MISMAGIUS), - ANIM_CMD(HONCHKROW), - ANIM_CMD(GLAMEOW), - ANIM_CMD(PURUGLY), - ANIM_CMD(CHINGLING), - ANIM_CMD(STUNKY), - ANIM_CMD(SKUNTANK), - ANIM_CMD(BRONZOR), - ANIM_CMD(BRONZONG), - ANIM_CMD(BONSLY), - ANIM_CMD(MIME_JR), - ANIM_CMD(HAPPINY), - ANIM_CMD(CHATOT), - ANIM_CMD(SPIRITOMB), - ANIM_CMD(GIBLE), - ANIM_CMD(GABITE), - ANIM_CMD(GARCHOMP), - ANIM_CMD(MUNCHLAX), - ANIM_CMD(RIOLU), - ANIM_CMD(LUCARIO), - ANIM_CMD(HIPPOPOTAS), - ANIM_CMD(HIPPOWDON), - ANIM_CMD(SKORUPI), - ANIM_CMD(DRAPION), - ANIM_CMD(CROAGUNK), - ANIM_CMD(TOXICROAK), - ANIM_CMD(CARNIVINE), - ANIM_CMD(FINNEON), - ANIM_CMD(LUMINEON), - ANIM_CMD(MANTYKE), - ANIM_CMD(SNOVER), - ANIM_CMD(ABOMASNOW), - ANIM_CMD(WEAVILE), - ANIM_CMD(MAGNEZONE), - ANIM_CMD(LICKILICKY), - ANIM_CMD(RHYPERIOR), - ANIM_CMD(TANGROWTH), - ANIM_CMD(ELECTIVIRE), - ANIM_CMD(MAGMORTAR), - ANIM_CMD(TOGEKISS), - ANIM_CMD(YANMEGA), - ANIM_CMD(LEAFEON), - ANIM_CMD(GLACEON), - ANIM_CMD(GLISCOR), - ANIM_CMD(MAMOSWINE), - ANIM_CMD(PORYGON_Z), - ANIM_CMD(GALLADE), - ANIM_CMD(PROBOPASS), - ANIM_CMD(DUSKNOIR), - ANIM_CMD(FROSLASS), - ANIM_CMD(ROTOM), - ANIM_CMD(UXIE), - ANIM_CMD(MESPRIT), - ANIM_CMD(AZELF), - ANIM_CMD(DIALGA), - ANIM_CMD(PALKIA), - ANIM_CMD(HEATRAN), - ANIM_CMD(REGIGIGAS), - ANIM_CMD(GIRATINA), - ANIM_CMD(CRESSELIA), - ANIM_CMD(PHIONE), - ANIM_CMD(MANAPHY), - ANIM_CMD(DARKRAI), - ANIM_CMD(SHAYMIN), - ANIM_CMD(ARCEUS), + [SPECIES_TURTWIG] = sAnims_Turtwig, + [SPECIES_GROTLE] = sAnims_Grotle, + [SPECIES_TORTERRA] = sAnims_Torterra, + [SPECIES_CHIMCHAR] = sAnims_Chimchar, + [SPECIES_MONFERNO] = sAnims_Monferno, + [SPECIES_INFERNAPE] = sAnims_Infernape, + [SPECIES_PIPLUP] = sAnims_Piplup, + [SPECIES_PRINPLUP] = sAnims_Prinplup, + [SPECIES_EMPOLEON] = sAnims_Empoleon, + [SPECIES_STARLY] = sAnims_Starly, + [SPECIES_STARAVIA] = sAnims_Staravia, + [SPECIES_STARAPTOR] = sAnims_Staraptor, + [SPECIES_BIDOOF] = sAnims_Bidoof, + [SPECIES_BIBAREL] = sAnims_Bibarel, + [SPECIES_KRICKETOT] = sAnims_Kricketot, + [SPECIES_KRICKETUNE] = sAnims_Kricketune, + [SPECIES_SHINX] = sAnims_Shinx, + [SPECIES_LUXIO] = sAnims_Luxio, + [SPECIES_LUXRAY] = sAnims_Luxray, + [SPECIES_BUDEW] = sAnims_Budew, + [SPECIES_ROSERADE] = sAnims_Roserade, + [SPECIES_CRANIDOS] = sAnims_Cranidos, + [SPECIES_RAMPARDOS] = sAnims_Rampardos, + [SPECIES_SHIELDON] = sAnims_Shieldon, + [SPECIES_BASTIODON] = sAnims_Bastiodon, + [SPECIES_BURMY] = sAnims_Burmy, + [SPECIES_WORMADAM] = sAnims_Wormadam, + [SPECIES_MOTHIM] = sAnims_Mothim, + [SPECIES_COMBEE] = sAnims_Combee, + [SPECIES_VESPIQUEN] = sAnims_Vespiquen, + [SPECIES_PACHIRISU] = sAnims_Pachirisu, + [SPECIES_BUIZEL] = sAnims_Buizel, + [SPECIES_FLOATZEL] = sAnims_Floatzel, + [SPECIES_CHERUBI] = sAnims_Cherubi, + [SPECIES_CHERRIM] = sAnims_CherrimOvercast, + [SPECIES_SHELLOS] = sAnims_Shellos, + [SPECIES_GASTRODON] = sAnims_Gastrodon, + [SPECIES_AMBIPOM] = sAnims_Ambipom, + [SPECIES_DRIFLOON] = sAnims_Drifloon, + [SPECIES_DRIFBLIM] = sAnims_Drifblim, + [SPECIES_BUNEARY] = sAnims_Buneary, + [SPECIES_LOPUNNY] = sAnims_Lopunny, + [SPECIES_MISMAGIUS] = sAnims_Mismagius, + [SPECIES_HONCHKROW] = sAnims_Honchkrow, + [SPECIES_GLAMEOW] = sAnims_Glameow, + [SPECIES_PURUGLY] = sAnims_Purugly, + [SPECIES_CHINGLING] = sAnims_Chingling, + [SPECIES_STUNKY] = sAnims_Stunky, + [SPECIES_SKUNTANK] = sAnims_Skuntank, + [SPECIES_BRONZOR] = sAnims_Bronzor, + [SPECIES_BRONZONG] = sAnims_Bronzong, + [SPECIES_BONSLY] = sAnims_Bonsly, + [SPECIES_MIME_JR] = sAnims_MimeJr, + [SPECIES_HAPPINY] = sAnims_Happiny, + [SPECIES_CHATOT] = sAnims_Chatot, + [SPECIES_SPIRITOMB] = sAnims_Spiritomb, + [SPECIES_GIBLE] = sAnims_Gible, + [SPECIES_GABITE] = sAnims_Gabite, + [SPECIES_GARCHOMP] = sAnims_Garchomp, + [SPECIES_MUNCHLAX] = sAnims_Munchlax, + [SPECIES_RIOLU] = sAnims_Riolu, + [SPECIES_LUCARIO] = sAnims_Lucario, + [SPECIES_HIPPOPOTAS] = sAnims_Hippopotas, + [SPECIES_HIPPOWDON] = sAnims_Hippowdon, + [SPECIES_SKORUPI] = sAnims_Skorupi, + [SPECIES_DRAPION] = sAnims_Drapion, + [SPECIES_CROAGUNK] = sAnims_Croagunk, + [SPECIES_TOXICROAK] = sAnims_Toxicroak, + [SPECIES_CARNIVINE] = sAnims_Carnivine, + [SPECIES_FINNEON] = sAnims_Finneon, + [SPECIES_LUMINEON] = sAnims_Lumineon, + [SPECIES_MANTYKE] = sAnims_Mantyke, + [SPECIES_SNOVER] = sAnims_Snover, + [SPECIES_ABOMASNOW] = sAnims_Abomasnow, + [SPECIES_WEAVILE] = sAnims_Weavile, + [SPECIES_MAGNEZONE] = sAnims_Magnezone, + [SPECIES_LICKILICKY] = sAnims_Lickilicky, + [SPECIES_RHYPERIOR] = sAnims_Rhyperior, + [SPECIES_TANGROWTH] = sAnims_Tangrowth, + [SPECIES_ELECTIVIRE] = sAnims_Electivire, + [SPECIES_MAGMORTAR] = sAnims_Magmortar, + [SPECIES_TOGEKISS] = sAnims_Togekiss, + [SPECIES_YANMEGA] = sAnims_Yanmega, + [SPECIES_LEAFEON] = sAnims_Leafeon, + [SPECIES_GLACEON] = sAnims_Glaceon, + [SPECIES_GLISCOR] = sAnims_Gliscor, + [SPECIES_MAMOSWINE] = sAnims_Mamoswine, + [SPECIES_PORYGON_Z] = sAnims_PORYGON_Z, + [SPECIES_GALLADE] = sAnims_Gallade, + [SPECIES_PROBOPASS] = sAnims_Probopass, + [SPECIES_DUSKNOIR] = sAnims_Dusknoir, + [SPECIES_FROSLASS] = sAnims_Froslass, + [SPECIES_ROTOM] = sAnims_Rotom, + [SPECIES_UXIE] = sAnims_Uxie, + [SPECIES_MESPRIT] = sAnims_Mesprit, + [SPECIES_AZELF] = sAnims_Azelf, + [SPECIES_DIALGA] = sAnims_Dialga, + [SPECIES_PALKIA] = sAnims_Palkia, + [SPECIES_HEATRAN] = sAnims_Heatran, + [SPECIES_REGIGIGAS] = sAnims_Regigigas, + [SPECIES_GIRATINA] = sAnims_Giratina, + [SPECIES_CRESSELIA] = sAnims_Cresselia, + [SPECIES_PHIONE] = sAnims_Phione, + [SPECIES_MANAPHY] = sAnims_Manaphy, + [SPECIES_DARKRAI] = sAnims_Darkrai, + [SPECIES_SHAYMIN] = sAnims_Shaymin, + [SPECIES_ARCEUS] = sAnims_Arceus, #endif #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(VICTINI), - ANIM_CMD(SNIVY), - ANIM_CMD(SERVINE), - ANIM_CMD(SERPERIOR), - ANIM_CMD(TEPIG), - ANIM_CMD(PIGNITE), - ANIM_CMD(EMBOAR), - ANIM_CMD(OSHAWOTT), - ANIM_CMD(DEWOTT), - ANIM_CMD(SAMUROTT), - ANIM_CMD(PATRAT), - ANIM_CMD(WATCHOG), - ANIM_CMD(LILLIPUP), - ANIM_CMD(HERDIER), - ANIM_CMD(STOUTLAND), - ANIM_CMD(PURRLOIN), - ANIM_CMD(LIEPARD), - ANIM_CMD(PANSAGE), - ANIM_CMD(SIMISAGE), - ANIM_CMD(PANSEAR), - ANIM_CMD(SIMISEAR), - ANIM_CMD(PANPOUR), - ANIM_CMD(SIMIPOUR), - ANIM_CMD(MUNNA), - ANIM_CMD(MUSHARNA), - ANIM_CMD(PIDOVE), - ANIM_CMD(TRANQUILL), - ANIM_CMD(UNFEZANT), - ANIM_CMD(BLITZLE), - ANIM_CMD(ZEBSTRIKA), - ANIM_CMD(ROGGENROLA), - ANIM_CMD(BOLDORE), - ANIM_CMD(GIGALITH), - ANIM_CMD(WOOBAT), - ANIM_CMD(SWOOBAT), - ANIM_CMD(DRILBUR), - ANIM_CMD(EXCADRILL), - ANIM_CMD(AUDINO), - ANIM_CMD(TIMBURR), - ANIM_CMD(GURDURR), - ANIM_CMD(CONKELDURR), - ANIM_CMD(TYMPOLE), - ANIM_CMD(PALPITOAD), - ANIM_CMD(SEISMITOAD), - ANIM_CMD(THROH), - ANIM_CMD(SAWK), - ANIM_CMD(SEWADDLE), - ANIM_CMD(SWADLOON), - ANIM_CMD(LEAVANNY), - ANIM_CMD(VENIPEDE), - ANIM_CMD(WHIRLIPEDE), - ANIM_CMD(SCOLIPEDE), - ANIM_CMD(COTTONEE), - ANIM_CMD(WHIMSICOTT), - ANIM_CMD(PETILIL), - ANIM_CMD(LILLIGANT), - ANIM_CMD(BASCULIN), - ANIM_CMD(SANDILE), - ANIM_CMD(KROKOROK), - ANIM_CMD(KROOKODILE), - ANIM_CMD(DARUMAKA), - ANIM_CMD(DARMANITAN), - ANIM_CMD(MARACTUS), - ANIM_CMD(DWEBBLE), - ANIM_CMD(CRUSTLE), - ANIM_CMD(SCRAGGY), - ANIM_CMD(SCRAFTY), - ANIM_CMD(SIGILYPH), - ANIM_CMD(YAMASK), - ANIM_CMD(COFAGRIGUS), - ANIM_CMD(TIRTOUGA), - ANIM_CMD(CARRACOSTA), - ANIM_CMD(ARCHEN), - ANIM_CMD(ARCHEOPS), - ANIM_CMD(TRUBBISH), - ANIM_CMD(GARBODOR), - ANIM_CMD(ZORUA), - ANIM_CMD(ZOROARK), - ANIM_CMD(MINCCINO), - ANIM_CMD(CINCCINO), - ANIM_CMD(GOTHITA), - ANIM_CMD(GOTHORITA), - ANIM_CMD(GOTHITELLE), - ANIM_CMD(SOLOSIS), - ANIM_CMD(DUOSION), - ANIM_CMD(REUNICLUS), - ANIM_CMD(DUCKLETT), - ANIM_CMD(SWANNA), - ANIM_CMD(VANILLITE), - ANIM_CMD(VANILLISH), - ANIM_CMD(VANILLUXE), - ANIM_CMD(DEERLING), - ANIM_CMD(SAWSBUCK), - ANIM_CMD(EMOLGA), - ANIM_CMD(KARRABLAST), - ANIM_CMD(ESCAVALIER), - ANIM_CMD(FOONGUS), - ANIM_CMD(AMOONGUSS), - ANIM_CMD(FRILLISH), - ANIM_CMD(JELLICENT), - ANIM_CMD(ALOMOMOLA), - ANIM_CMD(JOLTIK), - ANIM_CMD(GALVANTULA), - ANIM_CMD(FERROSEED), - ANIM_CMD(FERROTHORN), - ANIM_CMD(KLINK), - ANIM_CMD(KLANG), - ANIM_CMD(KLINKLANG), - ANIM_CMD(TYNAMO), - ANIM_CMD(EELEKTRIK), - ANIM_CMD(EELEKTROSS), - ANIM_CMD(ELGYEM), - ANIM_CMD(BEHEEYEM), - ANIM_CMD(LITWICK), - ANIM_CMD(LAMPENT), - ANIM_CMD(CHANDELURE), - ANIM_CMD(AXEW), - ANIM_CMD(FRAXURE), - ANIM_CMD(HAXORUS), - ANIM_CMD(CUBCHOO), - ANIM_CMD(BEARTIC), - ANIM_CMD(CRYOGONAL), - ANIM_CMD(SHELMET), - ANIM_CMD(ACCELGOR), - ANIM_CMD(STUNFISK), - ANIM_CMD(MIENFOO), - ANIM_CMD(MIENSHAO), - ANIM_CMD(DRUDDIGON), - ANIM_CMD(GOLETT), - ANIM_CMD(GOLURK), - ANIM_CMD(PAWNIARD), - ANIM_CMD(BISHARP), - ANIM_CMD(BOUFFALANT), - ANIM_CMD(RUFFLET), - ANIM_CMD(BRAVIARY), - ANIM_CMD(VULLABY), - ANIM_CMD(MANDIBUZZ), - ANIM_CMD(HEATMOR), - ANIM_CMD(DURANT), - ANIM_CMD(DEINO), - ANIM_CMD(ZWEILOUS), - ANIM_CMD(HYDREIGON), - ANIM_CMD(LARVESTA), - ANIM_CMD(VOLCARONA), - ANIM_CMD(COBALION), - ANIM_CMD(TERRAKION), - ANIM_CMD(VIRIZION), - ANIM_CMD(TORNADUS), - ANIM_CMD(THUNDURUS), - ANIM_CMD(RESHIRAM), - ANIM_CMD(ZEKROM), - ANIM_CMD(LANDORUS), - ANIM_CMD(KYUREM), - ANIM_CMD(KELDEO), - ANIM_CMD(MELOETTA), - ANIM_CMD(GENESECT), + [SPECIES_VICTINI] = sAnims_Victini, + [SPECIES_SNIVY] = sAnims_Snivy, + [SPECIES_SERVINE] = sAnims_Servine, + [SPECIES_SERPERIOR] = sAnims_Serperior, + [SPECIES_TEPIG] = sAnims_Tepig, + [SPECIES_PIGNITE] = sAnims_Pignite, + [SPECIES_EMBOAR] = sAnims_Emboar, + [SPECIES_OSHAWOTT] = sAnims_Oshawott, + [SPECIES_DEWOTT] = sAnims_Dewott, + [SPECIES_SAMUROTT] = sAnims_Samurott, + [SPECIES_PATRAT] = sAnims_Patrat, + [SPECIES_WATCHOG] = sAnims_Watchog, + [SPECIES_LILLIPUP] = sAnims_Lillipup, + [SPECIES_HERDIER] = sAnims_Herdier, + [SPECIES_STOUTLAND] = sAnims_Stoutland, + [SPECIES_PURRLOIN] = sAnims_Purrloin, + [SPECIES_LIEPARD] = sAnims_Liepard, + [SPECIES_PANSAGE] = sAnims_Pansage, + [SPECIES_SIMISAGE] = sAnims_Simisage, + [SPECIES_PANSEAR] = sAnims_Pansear, + [SPECIES_SIMISEAR] = sAnims_Simisear, + [SPECIES_PANPOUR] = sAnims_Panpour, + [SPECIES_SIMIPOUR] = sAnims_Simipour, + [SPECIES_MUNNA] = sAnims_Munna, + [SPECIES_MUSHARNA] = sAnims_Musharna, + [SPECIES_PIDOVE] = sAnims_Pidove, + [SPECIES_TRANQUILL] = sAnims_Tranquill, + [SPECIES_UNFEZANT] = sAnims_Unfezant, + [SPECIES_BLITZLE] = sAnims_Blitzle, + [SPECIES_ZEBSTRIKA] = sAnims_Zebstrika, + [SPECIES_ROGGENROLA] = sAnims_Roggenrola, + [SPECIES_BOLDORE] = sAnims_Boldore, + [SPECIES_GIGALITH] = sAnims_Gigalith, + [SPECIES_WOOBAT] = sAnims_Woobat, + [SPECIES_SWOOBAT] = sAnims_Swoobat, + [SPECIES_DRILBUR] = sAnims_Drilbur, + [SPECIES_EXCADRILL] = sAnims_Excadrill, + [SPECIES_AUDINO] = sAnims_Audino, + [SPECIES_TIMBURR] = sAnims_Timburr, + [SPECIES_GURDURR] = sAnims_Gurdurr, + [SPECIES_CONKELDURR] = sAnims_Conkeldurr, + [SPECIES_TYMPOLE] = sAnims_Tympole, + [SPECIES_PALPITOAD] = sAnims_Palpitoad, + [SPECIES_SEISMITOAD] = sAnims_Seismitoad, + [SPECIES_THROH] = sAnims_Throh, + [SPECIES_SAWK] = sAnims_Sawk, + [SPECIES_SEWADDLE] = sAnims_Sewaddle, + [SPECIES_SWADLOON] = sAnims_Swadloon, + [SPECIES_LEAVANNY] = sAnims_Leavanny, + [SPECIES_VENIPEDE] = sAnims_Venipede, + [SPECIES_WHIRLIPEDE] = sAnims_Whirlipede, + [SPECIES_SCOLIPEDE] = sAnims_Scolipede, + [SPECIES_COTTONEE] = sAnims_Cottonee, + [SPECIES_WHIMSICOTT] = sAnims_Whimsicott, + [SPECIES_PETILIL] = sAnims_Petilil, + [SPECIES_LILLIGANT] = sAnims_Lilligant, + [SPECIES_BASCULIN] = sAnims_Basculin, + [SPECIES_SANDILE] = sAnims_Sandile, + [SPECIES_KROKOROK] = sAnims_Krokorok, + [SPECIES_KROOKODILE] = sAnims_Krookodile, + [SPECIES_DARUMAKA] = sAnims_Darumaka, + [SPECIES_DARMANITAN] = sAnims_Darmanitan, + [SPECIES_MARACTUS] = sAnims_Maractus, + [SPECIES_DWEBBLE] = sAnims_Dwebble, + [SPECIES_CRUSTLE] = sAnims_Crustle, + [SPECIES_SCRAGGY] = sAnims_Scraggy, + [SPECIES_SCRAFTY] = sAnims_Scrafty, + [SPECIES_SIGILYPH] = sAnims_Sigilyph, + [SPECIES_YAMASK] = sAnims_Yamask, + [SPECIES_COFAGRIGUS] = sAnims_Cofagrigus, + [SPECIES_TIRTOUGA] = sAnims_Tirtouga, + [SPECIES_CARRACOSTA] = sAnims_Carracosta, + [SPECIES_ARCHEN] = sAnims_Archen, + [SPECIES_ARCHEOPS] = sAnims_Archeops, + [SPECIES_TRUBBISH] = sAnims_Trubbish, + [SPECIES_GARBODOR] = sAnims_Garbodor, + [SPECIES_ZORUA] = sAnims_Zorua, + [SPECIES_ZOROARK] = sAnims_Zoroark, + [SPECIES_MINCCINO] = sAnims_Minccino, + [SPECIES_CINCCINO] = sAnims_Cinccino, + [SPECIES_GOTHITA] = sAnims_Gothita, + [SPECIES_GOTHORITA] = sAnims_Gothorita, + [SPECIES_GOTHITELLE] = sAnims_Gothitelle, + [SPECIES_SOLOSIS] = sAnims_Solosis, + [SPECIES_DUOSION] = sAnims_Duosion, + [SPECIES_REUNICLUS] = sAnims_Reuniclus, + [SPECIES_DUCKLETT] = sAnims_Ducklett, + [SPECIES_SWANNA] = sAnims_Swanna, + [SPECIES_VANILLITE] = sAnims_Vanillite, + [SPECIES_VANILLISH] = sAnims_Vanillish, + [SPECIES_VANILLUXE] = sAnims_Vanilluxe, + [SPECIES_DEERLING] = sAnims_Deerling, + [SPECIES_SAWSBUCK] = sAnims_Sawsbuck, + [SPECIES_EMOLGA] = sAnims_Emolga, + [SPECIES_KARRABLAST] = sAnims_Karrablast, + [SPECIES_ESCAVALIER] = sAnims_Escavalier, + [SPECIES_FOONGUS] = sAnims_Foongus, + [SPECIES_AMOONGUSS] = sAnims_Amoonguss, + [SPECIES_FRILLISH] = sAnims_Frillish, + [SPECIES_JELLICENT] = sAnims_Jellicent, + [SPECIES_ALOMOMOLA] = sAnims_Alomomola, + [SPECIES_JOLTIK] = sAnims_Joltik, + [SPECIES_GALVANTULA] = sAnims_Galvantula, + [SPECIES_FERROSEED] = sAnims_Ferroseed, + [SPECIES_FERROTHORN] = sAnims_Ferrothorn, + [SPECIES_KLINK] = sAnims_Klink, + [SPECIES_KLANG] = sAnims_Klang, + [SPECIES_KLINKLANG] = sAnims_Klinklang, + [SPECIES_TYNAMO] = sAnims_Tynamo, + [SPECIES_EELEKTRIK] = sAnims_Eelektrik, + [SPECIES_EELEKTROSS] = sAnims_Eelektross, + [SPECIES_ELGYEM] = sAnims_Elgyem, + [SPECIES_BEHEEYEM] = sAnims_Beheeyem, + [SPECIES_LITWICK] = sAnims_Litwick, + [SPECIES_LAMPENT] = sAnims_Lampent, + [SPECIES_CHANDELURE] = sAnims_Chandelure, + [SPECIES_AXEW] = sAnims_Axew, + [SPECIES_FRAXURE] = sAnims_Fraxure, + [SPECIES_HAXORUS] = sAnims_Haxorus, + [SPECIES_CUBCHOO] = sAnims_Cubchoo, + [SPECIES_BEARTIC] = sAnims_Beartic, + [SPECIES_CRYOGONAL] = sAnims_Cryogonal, + [SPECIES_SHELMET] = sAnims_Shelmet, + [SPECIES_ACCELGOR] = sAnims_Accelgor, + [SPECIES_STUNFISK] = sAnims_Stunfisk, + [SPECIES_MIENFOO] = sAnims_Mienfoo, + [SPECIES_MIENSHAO] = sAnims_Mienshao, + [SPECIES_DRUDDIGON] = sAnims_Druddigon, + [SPECIES_GOLETT] = sAnims_Golett, + [SPECIES_GOLURK] = sAnims_Golurk, + [SPECIES_PAWNIARD] = sAnims_Pawniard, + [SPECIES_BISHARP] = sAnims_Bisharp, + [SPECIES_BOUFFALANT] = sAnims_Bouffalant, + [SPECIES_RUFFLET] = sAnims_Rufflet, + [SPECIES_BRAVIARY] = sAnims_Braviary, + [SPECIES_VULLABY] = sAnims_Vullaby, + [SPECIES_MANDIBUZZ] = sAnims_Mandibuzz, + [SPECIES_HEATMOR] = sAnims_Heatmor, + [SPECIES_DURANT] = sAnims_Durant, + [SPECIES_DEINO] = sAnims_Deino, + [SPECIES_ZWEILOUS] = sAnims_Zweilous, + [SPECIES_HYDREIGON] = sAnims_Hydreigon, + [SPECIES_LARVESTA] = sAnims_Larvesta, + [SPECIES_VOLCARONA] = sAnims_Volcarona, + [SPECIES_COBALION] = sAnims_Cobalion, + [SPECIES_TERRAKION] = sAnims_Terrakion, + [SPECIES_VIRIZION] = sAnims_Virizion, + [SPECIES_TORNADUS] = sAnims_Tornadus, + [SPECIES_THUNDURUS] = sAnims_Thundurus, + [SPECIES_RESHIRAM] = sAnims_Reshiram, + [SPECIES_ZEKROM] = sAnims_Zekrom, + [SPECIES_LANDORUS] = sAnims_Landorus, + [SPECIES_KYUREM] = sAnims_Kyurem, + [SPECIES_KELDEO] = sAnims_Keldeo, + [SPECIES_MELOETTA] = sAnims_Meloetta, + [SPECIES_GENESECT] = sAnims_Genesect, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(CHESPIN), - ANIM_CMD(QUILLADIN), - ANIM_CMD(CHESNAUGHT), - ANIM_CMD(FENNEKIN), - ANIM_CMD(BRAIXEN), - ANIM_CMD(DELPHOX), - ANIM_CMD(FROAKIE), - ANIM_CMD(FROGADIER), - ANIM_CMD(GRENINJA), - ANIM_CMD(BUNNELBY), - ANIM_CMD(DIGGERSBY), - ANIM_CMD(FLETCHLING), - ANIM_CMD(FLETCHINDER), - ANIM_CMD(TALONFLAME), - ANIM_CMD(SCATTERBUG), - ANIM_CMD(SPEWPA), - ANIM_CMD(VIVILLON), - ANIM_CMD(LITLEO), - ANIM_CMD(PYROAR), - ANIM_CMD(FLABEBE), - ANIM_CMD(FLOETTE), - ANIM_CMD(FLORGES), - ANIM_CMD(SKIDDO), - ANIM_CMD(GOGOAT), - ANIM_CMD(PANCHAM), - ANIM_CMD(PANGORO), - ANIM_CMD(FURFROU), - ANIM_CMD(ESPURR), - ANIM_CMD(MEOWSTIC), - ANIM_CMD(HONEDGE), - ANIM_CMD(DOUBLADE), - ANIM_CMD(AEGISLASH), - ANIM_CMD(SPRITZEE), - ANIM_CMD(AROMATISSE), - ANIM_CMD(SWIRLIX), - ANIM_CMD(SLURPUFF), - ANIM_CMD(INKAY), - ANIM_CMD(MALAMAR), - ANIM_CMD(BINACLE), - ANIM_CMD(BARBARACLE), - ANIM_CMD(SKRELP), - ANIM_CMD(DRAGALGE), - ANIM_CMD(CLAUNCHER), - ANIM_CMD(CLAWITZER), - ANIM_CMD(HELIOPTILE), - ANIM_CMD(HELIOLISK), - ANIM_CMD(TYRUNT), - ANIM_CMD(TYRANTRUM), - ANIM_CMD(AMAURA), - ANIM_CMD(AURORUS), - ANIM_CMD(SYLVEON), - ANIM_CMD(HAWLUCHA), - ANIM_CMD(DEDENNE), - ANIM_CMD(CARBINK), - ANIM_CMD(GOOMY), - ANIM_CMD(SLIGGOO), - ANIM_CMD(GOODRA), - ANIM_CMD(KLEFKI), - ANIM_CMD(PHANTUMP), - ANIM_CMD(TREVENANT), - ANIM_CMD(PUMPKABOO), - ANIM_CMD(GOURGEIST), - ANIM_CMD(BERGMITE), - ANIM_CMD(AVALUGG), - ANIM_CMD(NOIBAT), - ANIM_CMD(NOIVERN), - ANIM_CMD(XERNEAS), - ANIM_CMD(YVELTAL), - ANIM_CMD(ZYGARDE), - ANIM_CMD(DIANCIE), - ANIM_CMD(HOOPA), - ANIM_CMD(VOLCANION), + [SPECIES_CHESPIN] = sAnims_Chespin, + [SPECIES_QUILLADIN] = sAnims_Quilladin, + [SPECIES_CHESNAUGHT] = sAnims_Chesnaught, + [SPECIES_FENNEKIN] = sAnims_Fennekin, + [SPECIES_BRAIXEN] = sAnims_Braixen, + [SPECIES_DELPHOX] = sAnims_Delphox, + [SPECIES_FROAKIE] = sAnims_Froakie, + [SPECIES_FROGADIER] = sAnims_Frogadier, + [SPECIES_GRENINJA] = sAnims_Greninja, + [SPECIES_BUNNELBY] = sAnims_Bunnelby, + [SPECIES_DIGGERSBY] = sAnims_Diggersby, + [SPECIES_FLETCHLING] = sAnims_Fletchling, + [SPECIES_FLETCHINDER] = sAnims_Fletchinder, + [SPECIES_TALONFLAME] = sAnims_Talonflame, + [SPECIES_SCATTERBUG] = sAnims_Scatterbug, + [SPECIES_SPEWPA] = sAnims_Spewpa, + [SPECIES_VIVILLON] = sAnims_Vivillon, + [SPECIES_LITLEO] = sAnims_Litleo, + [SPECIES_PYROAR] = sAnims_Pyroar, + [SPECIES_FLABEBE] = sAnims_Flabebe, + [SPECIES_FLOETTE] = sAnims_Floette, + [SPECIES_FLORGES] = sAnims_Florges, + [SPECIES_SKIDDO] = sAnims_Skiddo, + [SPECIES_GOGOAT] = sAnims_Gogoat, + [SPECIES_PANCHAM] = sAnims_Pancham, + [SPECIES_PANGORO] = sAnims_Pangoro, + [SPECIES_FURFROU] = sAnims_Furfrou, + [SPECIES_ESPURR] = sAnims_Espurr, + [SPECIES_MEOWSTIC] = sAnims_Meowstic, + [SPECIES_HONEDGE] = sAnims_Honedge, + [SPECIES_DOUBLADE] = sAnims_Doublade, + [SPECIES_AEGISLASH] = sAnims_Aegislash, + [SPECIES_SPRITZEE] = sAnims_Spritzee, + [SPECIES_AROMATISSE] = sAnims_Aromatisse, + [SPECIES_SWIRLIX] = sAnims_Swirlix, + [SPECIES_SLURPUFF] = sAnims_Slurpuff, + [SPECIES_INKAY] = sAnims_Inkay, + [SPECIES_MALAMAR] = sAnims_Malamar, + [SPECIES_BINACLE] = sAnims_Binacle, + [SPECIES_BARBARACLE] = sAnims_Barbaracle, + [SPECIES_SKRELP] = sAnims_Skrelp, + [SPECIES_DRAGALGE] = sAnims_Dragalge, + [SPECIES_CLAUNCHER] = sAnims_Clauncher, + [SPECIES_CLAWITZER] = sAnims_Clawitzer, + [SPECIES_HELIOPTILE] = sAnims_Helioptile, + [SPECIES_HELIOLISK] = sAnims_Heliolisk, + [SPECIES_TYRUNT] = sAnims_Tyrunt, + [SPECIES_TYRANTRUM] = sAnims_Tyrantrum, + [SPECIES_AMAURA] = sAnims_Amaura, + [SPECIES_AURORUS] = sAnims_Aurorus, + [SPECIES_SYLVEON] = sAnims_Sylveon, + [SPECIES_HAWLUCHA] = sAnims_Hawlucha, + [SPECIES_DEDENNE] = sAnims_Dedenne, + [SPECIES_CARBINK] = sAnims_Carbink, + [SPECIES_GOOMY] = sAnims_Goomy, + [SPECIES_SLIGGOO] = sAnims_Sliggoo, + [SPECIES_GOODRA] = sAnims_Goodra, + [SPECIES_KLEFKI] = sAnims_Klefki, + [SPECIES_PHANTUMP] = sAnims_Phantump, + [SPECIES_TREVENANT] = sAnims_Trevenant, + [SPECIES_PUMPKABOO] = sAnims_Pumpkaboo, + [SPECIES_GOURGEIST] = sAnims_Gourgeist, + [SPECIES_BERGMITE] = sAnims_Bergmite, + [SPECIES_AVALUGG] = sAnims_Avalugg, + [SPECIES_NOIBAT] = sAnims_Noibat, + [SPECIES_NOIVERN] = sAnims_Noivern, + [SPECIES_XERNEAS] = sAnims_Xerneas, + [SPECIES_YVELTAL] = sAnims_Yveltal, + [SPECIES_ZYGARDE] = sAnims_Zygarde, + [SPECIES_DIANCIE] = sAnims_Diancie, + [SPECIES_HOOPA] = sAnims_Hoopa, + [SPECIES_VOLCANION] = sAnims_Volcanion, #endif #if P_GEN_7_POKEMON == TRUE - ANIM_CMD(ROWLET), - ANIM_CMD(DARTRIX), - ANIM_CMD(DECIDUEYE), - ANIM_CMD(LITTEN), - ANIM_CMD(TORRACAT), - ANIM_CMD(INCINEROAR), - ANIM_CMD(POPPLIO), - ANIM_CMD(BRIONNE), - ANIM_CMD(PRIMARINA), - ANIM_CMD(PIKIPEK), - ANIM_CMD(TRUMBEAK), - ANIM_CMD(TOUCANNON), - ANIM_CMD(YUNGOOS), - ANIM_CMD(GUMSHOOS), - ANIM_CMD(GRUBBIN), - ANIM_CMD(CHARJABUG), - ANIM_CMD(VIKAVOLT), - ANIM_CMD(CRABRAWLER), - ANIM_CMD(CRABOMINABLE), - ANIM_CMD(ORICORIO), - ANIM_CMD(CUTIEFLY), - ANIM_CMD(RIBOMBEE), - ANIM_CMD(ROCKRUFF), - ANIM_CMD(LYCANROC), - ANIM_CMD(WISHIWASHI), - ANIM_CMD(MAREANIE), - ANIM_CMD(TOXAPEX), - ANIM_CMD(MUDBRAY), - ANIM_CMD(MUDSDALE), - ANIM_CMD(DEWPIDER), - ANIM_CMD(ARAQUANID), - ANIM_CMD(FOMANTIS), - ANIM_CMD(LURANTIS), - ANIM_CMD(MORELULL), - ANIM_CMD(SHIINOTIC), - ANIM_CMD(SALANDIT), - ANIM_CMD(SALAZZLE), - ANIM_CMD(STUFFUL), - ANIM_CMD(BEWEAR), - ANIM_CMD(BOUNSWEET), - ANIM_CMD(STEENEE), - ANIM_CMD(TSAREENA), - ANIM_CMD(COMFEY), - ANIM_CMD(ORANGURU), - ANIM_CMD(PASSIMIAN), - ANIM_CMD(WIMPOD), - ANIM_CMD(GOLISOPOD), - ANIM_CMD(SANDYGAST), - ANIM_CMD(PALOSSAND), - ANIM_CMD(PYUKUMUKU), - ANIM_CMD(TYPE_NULL), - ANIM_CMD(SILVALLY), - ANIM_CMD(MINIOR), - ANIM_CMD(KOMALA), - ANIM_CMD(TURTONATOR), - ANIM_CMD(TOGEDEMARU), - ANIM_CMD(MIMIKYU), - ANIM_CMD(BRUXISH), - ANIM_CMD(DRAMPA), - ANIM_CMD(DHELMISE), - ANIM_CMD(JANGMO_O), - ANIM_CMD(HAKAMO_O), - ANIM_CMD(KOMMO_O), - ANIM_CMD(TAPU_KOKO), - ANIM_CMD(TAPU_LELE), - ANIM_CMD(TAPU_BULU), - ANIM_CMD(TAPU_FINI), - ANIM_CMD(COSMOG), - ANIM_CMD(COSMOEM), - ANIM_CMD(SOLGALEO), - ANIM_CMD(LUNALA), - ANIM_CMD(NIHILEGO), - ANIM_CMD(BUZZWOLE), - ANIM_CMD(PHEROMOSA), - ANIM_CMD(XURKITREE), - ANIM_CMD(CELESTEELA), - ANIM_CMD(KARTANA), - ANIM_CMD(GUZZLORD), - ANIM_CMD(NECROZMA), - ANIM_CMD(MAGEARNA), - ANIM_CMD(MARSHADOW), - ANIM_CMD(POIPOLE), - ANIM_CMD(NAGANADEL), - ANIM_CMD(STAKATAKA), - ANIM_CMD(BLACEPHALON), - ANIM_CMD(ZERAORA), - ANIM_CMD(MELTAN), - ANIM_CMD(MELMETAL), + [SPECIES_ROWLET] = sAnims_Rowlet, + [SPECIES_DARTRIX] = sAnims_Dartrix, + [SPECIES_DECIDUEYE] = sAnims_Decidueye, + [SPECIES_LITTEN] = sAnims_Litten, + [SPECIES_TORRACAT] = sAnims_Torracat, + [SPECIES_INCINEROAR] = sAnims_Incineroar, + [SPECIES_POPPLIO] = sAnims_Popplio, + [SPECIES_BRIONNE] = sAnims_Brionne, + [SPECIES_PRIMARINA] = sAnims_Primarina, + [SPECIES_PIKIPEK] = sAnims_Pikipek, + [SPECIES_TRUMBEAK] = sAnims_Trumbeak, + [SPECIES_TOUCANNON] = sAnims_Toucannon, + [SPECIES_YUNGOOS] = sAnims_Yungoos, + [SPECIES_GUMSHOOS] = sAnims_Gumshoos, + [SPECIES_GRUBBIN] = sAnims_Grubbin, + [SPECIES_CHARJABUG] = sAnims_Charjabug, + [SPECIES_VIKAVOLT] = sAnims_Vikavolt, + [SPECIES_CRABRAWLER] = sAnims_Crabrawler, + [SPECIES_CRABOMINABLE] = sAnims_Crabominable, + [SPECIES_ORICORIO] = sAnims_Oricorio, + [SPECIES_CUTIEFLY] = sAnims_Cutiefly, + [SPECIES_RIBOMBEE] = sAnims_Ribombee, + [SPECIES_ROCKRUFF] = sAnims_Rockruff, + [SPECIES_LYCANROC] = sAnims_Lycanroc, + [SPECIES_WISHIWASHI] = sAnims_Wishiwashi, + [SPECIES_MAREANIE] = sAnims_Mareanie, + [SPECIES_TOXAPEX] = sAnims_Toxapex, + [SPECIES_MUDBRAY] = sAnims_Mudbray, + [SPECIES_MUDSDALE] = sAnims_Mudsdale, + [SPECIES_DEWPIDER] = sAnims_Dewpider, + [SPECIES_ARAQUANID] = sAnims_Araquanid, + [SPECIES_FOMANTIS] = sAnims_Fomantis, + [SPECIES_LURANTIS] = sAnims_Lurantis, + [SPECIES_MORELULL] = sAnims_Morelull, + [SPECIES_SHIINOTIC] = sAnims_Shiinotic, + [SPECIES_SALANDIT] = sAnims_Salandit, + [SPECIES_SALAZZLE] = sAnims_Salazzle, + [SPECIES_STUFFUL] = sAnims_Stufful, + [SPECIES_BEWEAR] = sAnims_Bewear, + [SPECIES_BOUNSWEET] = sAnims_Bounsweet, + [SPECIES_STEENEE] = sAnims_Steenee, + [SPECIES_TSAREENA] = sAnims_Tsareena, + [SPECIES_COMFEY] = sAnims_Comfey, + [SPECIES_ORANGURU] = sAnims_Oranguru, + [SPECIES_PASSIMIAN] = sAnims_Passimian, + [SPECIES_WIMPOD] = sAnims_Wimpod, + [SPECIES_GOLISOPOD] = sAnims_Golisopod, + [SPECIES_SANDYGAST] = sAnims_Sandygast, + [SPECIES_PALOSSAND] = sAnims_Palossand, + [SPECIES_PYUKUMUKU] = sAnims_Pyukumuku, + [SPECIES_TYPE_NULL] = sAnims_TypeNull, + [SPECIES_SILVALLY] = sAnims_Silvally, + [SPECIES_MINIOR] = sAnims_Minior, + [SPECIES_KOMALA] = sAnims_Komala, + [SPECIES_TURTONATOR] = sAnims_Turtonator, + [SPECIES_TOGEDEMARU] = sAnims_Togedemaru, + [SPECIES_MIMIKYU] = sAnims_Mimikyu, + [SPECIES_BRUXISH] = sAnims_Bruxish, + [SPECIES_DRAMPA] = sAnims_Drampa, + [SPECIES_DHELMISE] = sAnims_Dhelmise, + [SPECIES_JANGMO_O] = sAnims_JANGMO_O, + [SPECIES_HAKAMO_O] = sAnims_HAKAMO_O, + [SPECIES_KOMMO_O] = sAnims_KOMMO_O, + [SPECIES_TAPU_KOKO] = sAnims_TapuKoko, + [SPECIES_TAPU_LELE] = sAnims_TapuLele, + [SPECIES_TAPU_BULU] = sAnims_TapuBulu, + [SPECIES_TAPU_FINI] = sAnims_TapuFini, + [SPECIES_COSMOG] = sAnims_Cosmog, + [SPECIES_COSMOEM] = sAnims_Cosmoem, + [SPECIES_SOLGALEO] = sAnims_Solgaleo, + [SPECIES_LUNALA] = sAnims_Lunala, + [SPECIES_NIHILEGO] = sAnims_Nihilego, + [SPECIES_BUZZWOLE] = sAnims_Buzzwole, + [SPECIES_PHEROMOSA] = sAnims_Pheromosa, + [SPECIES_XURKITREE] = sAnims_Xurkitree, + [SPECIES_CELESTEELA] = sAnims_Celesteela, + [SPECIES_KARTANA] = sAnims_Kartana, + [SPECIES_GUZZLORD] = sAnims_Guzzlord, + [SPECIES_NECROZMA] = sAnims_Necrozma, + [SPECIES_MAGEARNA] = sAnims_Magearna, + [SPECIES_MARSHADOW] = sAnims_Marshadow, + [SPECIES_POIPOLE] = sAnims_Poipole, + [SPECIES_NAGANADEL] = sAnims_Naganadel, + [SPECIES_STAKATAKA] = sAnims_Stakataka, + [SPECIES_BLACEPHALON] = sAnims_Blacephalon, + [SPECIES_ZERAORA] = sAnims_Zeraora, + [SPECIES_MELTAN] = sAnims_Meltan, + [SPECIES_MELMETAL] = sAnims_Melmetal, #endif #if P_GEN_8_POKEMON == TRUE - ANIM_CMD(GROOKEY), - ANIM_CMD(THWACKEY), - ANIM_CMD(RILLABOOM), - ANIM_CMD(SCORBUNNY), - ANIM_CMD(RABOOT), - ANIM_CMD(CINDERACE), - ANIM_CMD(SOBBLE), - ANIM_CMD(DRIZZILE), - ANIM_CMD(INTELEON), - ANIM_CMD(SKWOVET), - ANIM_CMD(GREEDENT), - ANIM_CMD(ROOKIDEE), - ANIM_CMD(CORVISQUIRE), - ANIM_CMD(CORVIKNIGHT), - ANIM_CMD(BLIPBUG), - ANIM_CMD(DOTTLER), - ANIM_CMD(ORBEETLE), - ANIM_CMD(NICKIT), - ANIM_CMD(THIEVUL), - ANIM_CMD(GOSSIFLEUR), - ANIM_CMD(ELDEGOSS), - ANIM_CMD(WOOLOO), - ANIM_CMD(DUBWOOL), - ANIM_CMD(CHEWTLE), - ANIM_CMD(DREDNAW), - ANIM_CMD(YAMPER), - ANIM_CMD(BOLTUND), - ANIM_CMD(ROLYCOLY), - ANIM_CMD(CARKOL), - ANIM_CMD(COALOSSAL), - ANIM_CMD(APPLIN), - ANIM_CMD(FLAPPLE), - ANIM_CMD(APPLETUN), - ANIM_CMD(SILICOBRA), - ANIM_CMD(SANDACONDA), - ANIM_CMD(CRAMORANT), - ANIM_CMD(ARROKUDA), - ANIM_CMD(BARRASKEWDA), - ANIM_CMD(TOXEL), - ANIM_CMD(TOXTRICITY), - ANIM_CMD(SIZZLIPEDE), - ANIM_CMD(CENTISKORCH), - ANIM_CMD(CLOBBOPUS), - ANIM_CMD(GRAPPLOCT), - ANIM_CMD(SINISTEA), - ANIM_CMD(POLTEAGEIST), - ANIM_CMD(HATENNA), - ANIM_CMD(HATTREM), - ANIM_CMD(HATTERENE), - ANIM_CMD(IMPIDIMP), - ANIM_CMD(MORGREM), - ANIM_CMD(GRIMMSNARL), - ANIM_CMD(OBSTAGOON), - ANIM_CMD(PERRSERKER), - ANIM_CMD(CURSOLA), - ANIM_CMD(SIRFETCHD), - ANIM_CMD(MR_RIME), - ANIM_CMD(RUNERIGUS), - ANIM_CMD(MILCERY), - ANIM_CMD(ALCREMIE), - ANIM_CMD(FALINKS), - ANIM_CMD(PINCURCHIN), - ANIM_CMD(SNOM), - ANIM_CMD(FROSMOTH), - ANIM_CMD(STONJOURNER), - ANIM_CMD(EISCUE), - ANIM_CMD(INDEEDEE), - ANIM_CMD(MORPEKO), - ANIM_CMD(CUFANT), - ANIM_CMD(COPPERAJAH), - ANIM_CMD(DRACOZOLT), - ANIM_CMD(ARCTOZOLT), - ANIM_CMD(DRACOVISH), - ANIM_CMD(ARCTOVISH), - ANIM_CMD(DURALUDON), - ANIM_CMD(DREEPY), - ANIM_CMD(DRAKLOAK), - ANIM_CMD(DRAGAPULT), - ANIM_CMD(ZACIAN), - ANIM_CMD(ZAMAZENTA), - ANIM_CMD(ETERNATUS), - ANIM_CMD(KUBFU), - ANIM_CMD(URSHIFU), - ANIM_CMD(ZARUDE), - ANIM_CMD(REGIELEKI), - ANIM_CMD(REGIDRAGO), - ANIM_CMD(GLASTRIER), - ANIM_CMD(SPECTRIER), - ANIM_CMD(CALYREX), - ANIM_CMD(WYRDEER), - ANIM_CMD(KLEAVOR), - ANIM_CMD(URSALUNA), - ANIM_CMD(BASCULEGION), - ANIM_CMD(SNEASLER), - ANIM_CMD(OVERQWIL), - ANIM_CMD(ENAMORUS), + [SPECIES_GROOKEY] = sAnims_Grookey, + [SPECIES_THWACKEY] = sAnims_Thwackey, + [SPECIES_RILLABOOM] = sAnims_Rillaboom, + [SPECIES_SCORBUNNY] = sAnims_Scorbunny, + [SPECIES_RABOOT] = sAnims_Raboot, + [SPECIES_CINDERACE] = sAnims_Cinderace, + [SPECIES_SOBBLE] = sAnims_Sobble, + [SPECIES_DRIZZILE] = sAnims_Drizzile, + [SPECIES_INTELEON] = sAnims_Inteleon, + [SPECIES_SKWOVET] = sAnims_Skwovet, + [SPECIES_GREEDENT] = sAnims_Greedent, + [SPECIES_ROOKIDEE] = sAnims_Rookidee, + [SPECIES_CORVISQUIRE] = sAnims_Corvisquire, + [SPECIES_CORVIKNIGHT] = sAnims_Corviknight, + [SPECIES_BLIPBUG] = sAnims_Blipbug, + [SPECIES_DOTTLER] = sAnims_Dottler, + [SPECIES_ORBEETLE] = sAnims_Orbeetle, + [SPECIES_NICKIT] = sAnims_Nickit, + [SPECIES_THIEVUL] = sAnims_Thievul, + [SPECIES_GOSSIFLEUR] = sAnims_Gossifleur, + [SPECIES_ELDEGOSS] = sAnims_Eldegoss, + [SPECIES_WOOLOO] = sAnims_Wooloo, + [SPECIES_DUBWOOL] = sAnims_Dubwool, + [SPECIES_CHEWTLE] = sAnims_Chewtle, + [SPECIES_DREDNAW] = sAnims_Drednaw, + [SPECIES_YAMPER] = sAnims_Yamper, + [SPECIES_BOLTUND] = sAnims_Boltund, + [SPECIES_ROLYCOLY] = sAnims_Rolycoly, + [SPECIES_CARKOL] = sAnims_Carkol, + [SPECIES_COALOSSAL] = sAnims_Coalossal, + [SPECIES_APPLIN] = sAnims_Applin, + [SPECIES_FLAPPLE] = sAnims_Flapple, + [SPECIES_APPLETUN] = sAnims_Appletun, + [SPECIES_SILICOBRA] = sAnims_Silicobra, + [SPECIES_SANDACONDA] = sAnims_Sandaconda, + [SPECIES_CRAMORANT] = sAnims_Cramorant, + [SPECIES_ARROKUDA] = sAnims_Arrokuda, + [SPECIES_BARRASKEWDA] = sAnims_Barraskewda, + [SPECIES_TOXEL] = sAnims_Toxel, + [SPECIES_TOXTRICITY] = sAnims_Toxtricity, + [SPECIES_SIZZLIPEDE] = sAnims_Sizzlipede, + [SPECIES_CENTISKORCH] = sAnims_Centiskorch, + [SPECIES_CLOBBOPUS] = sAnims_Clobbopus, + [SPECIES_GRAPPLOCT] = sAnims_Grapploct, + [SPECIES_SINISTEA] = sAnims_Sinistea, + [SPECIES_POLTEAGEIST] = sAnims_Polteageist, + [SPECIES_HATENNA] = sAnims_Hatenna, + [SPECIES_HATTREM] = sAnims_Hattrem, + [SPECIES_HATTERENE] = sAnims_Hatterene, + [SPECIES_IMPIDIMP] = sAnims_Impidimp, + [SPECIES_MORGREM] = sAnims_Morgrem, + [SPECIES_GRIMMSNARL] = sAnims_Grimmsnarl, + [SPECIES_OBSTAGOON] = sAnims_Obstagoon, + [SPECIES_PERRSERKER] = sAnims_Perrserker, + [SPECIES_CURSOLA] = sAnims_Cursola, + [SPECIES_SIRFETCHD] = sAnims_Sirfetchd, + [SPECIES_MR_RIME] = sAnims_MrRime, + [SPECIES_RUNERIGUS] = sAnims_Runerigus, + [SPECIES_MILCERY] = sAnims_Milcery, + [SPECIES_ALCREMIE] = sAnims_Alcremie, + [SPECIES_FALINKS] = sAnims_Falinks, + [SPECIES_PINCURCHIN] = sAnims_Pincurchin, + [SPECIES_SNOM] = sAnims_Snom, + [SPECIES_FROSMOTH] = sAnims_Frosmoth, + [SPECIES_STONJOURNER] = sAnims_Stonjourner, + [SPECIES_EISCUE] = sAnims_Eiscue, + [SPECIES_INDEEDEE] = sAnims_Indeedee, + [SPECIES_MORPEKO] = sAnims_Morpeko, + [SPECIES_CUFANT] = sAnims_Cufant, + [SPECIES_COPPERAJAH] = sAnims_Copperajah, + [SPECIES_DRACOZOLT] = sAnims_Dracozolt, + [SPECIES_ARCTOZOLT] = sAnims_Arctozolt, + [SPECIES_DRACOVISH] = sAnims_Dracovish, + [SPECIES_ARCTOVISH] = sAnims_Arctovish, + [SPECIES_DURALUDON] = sAnims_Duraludon, + [SPECIES_DREEPY] = sAnims_Dreepy, + [SPECIES_DRAKLOAK] = sAnims_Drakloak, + [SPECIES_DRAGAPULT] = sAnims_Dragapult, + [SPECIES_ZACIAN] = sAnims_Zacian, + [SPECIES_ZAMAZENTA] = sAnims_Zamazenta, + [SPECIES_ETERNATUS] = sAnims_Eternatus, + [SPECIES_KUBFU] = sAnims_Kubfu, + [SPECIES_URSHIFU] = sAnims_Urshifu, + [SPECIES_ZARUDE] = sAnims_Zarude, + [SPECIES_REGIELEKI] = sAnims_Regieleki, + [SPECIES_REGIDRAGO] = sAnims_Regidrago, + [SPECIES_GLASTRIER] = sAnims_Glastrier, + [SPECIES_SPECTRIER] = sAnims_Spectrier, + [SPECIES_CALYREX] = sAnims_Calyrex, + [SPECIES_WYRDEER] = sAnims_Wyrdeer, + [SPECIES_KLEAVOR] = sAnims_Kleavor, + [SPECIES_URSALUNA] = sAnims_Ursaluna, + [SPECIES_BASCULEGION] = sAnims_Basculegion, + [SPECIES_SNEASLER] = sAnims_Sneasler, + [SPECIES_OVERQWIL] = sAnims_Overqwil, + [SPECIES_ENAMORUS] = sAnims_Enamorus, #endif - ANIM_CMD(VENUSAUR_MEGA), - ANIM_CMD(CHARIZARD_MEGA_X), - ANIM_CMD(CHARIZARD_MEGA_Y), - ANIM_CMD(BLASTOISE_MEGA), - ANIM_CMD(BEEDRILL_MEGA), - ANIM_CMD(PIDGEOT_MEGA), - ANIM_CMD(ALAKAZAM_MEGA), - ANIM_CMD(SLOWBRO_MEGA), - ANIM_CMD(GENGAR_MEGA), - ANIM_CMD(KANGASKHAN_MEGA), - ANIM_CMD(PINSIR_MEGA), - ANIM_CMD(GYARADOS_MEGA), - ANIM_CMD(AERODACTYL_MEGA), - ANIM_CMD(MEWTWO_MEGA_X), - ANIM_CMD(MEWTWO_MEGA_Y), - ANIM_CMD(AMPHAROS_MEGA), - ANIM_CMD(STEELIX_MEGA), - ANIM_CMD(SCIZOR_MEGA), - ANIM_CMD(HERACROSS_MEGA), - ANIM_CMD(HOUNDOOM_MEGA), - ANIM_CMD(TYRANITAR_MEGA), - ANIM_CMD(SCEPTILE_MEGA), - ANIM_CMD(BLAZIKEN_MEGA), - ANIM_CMD(SWAMPERT_MEGA), - ANIM_CMD(GARDEVOIR_MEGA), - ANIM_CMD(SABLEYE_MEGA), - ANIM_CMD(MAWILE_MEGA), - ANIM_CMD(AGGRON_MEGA), - ANIM_CMD(MEDICHAM_MEGA), - ANIM_CMD(MANECTRIC_MEGA), - ANIM_CMD(SHARPEDO_MEGA), - ANIM_CMD(CAMERUPT_MEGA), - ANIM_CMD(ALTARIA_MEGA), - ANIM_CMD(BANETTE_MEGA), - ANIM_CMD(ABSOL_MEGA), - ANIM_CMD(GLALIE_MEGA), - ANIM_CMD(SALAMENCE_MEGA), - ANIM_CMD(METAGROSS_MEGA), - ANIM_CMD(LATIAS_MEGA), - ANIM_CMD(LATIOS_MEGA), + [SPECIES_VENUSAUR_MEGA] = sAnims_VenusaurMega, + [SPECIES_CHARIZARD_MEGA_X] = sAnims_CHARIZARD_MEGA_X, + [SPECIES_CHARIZARD_MEGA_Y] = sAnims_CHARIZARD_MEGA_Y, + [SPECIES_BLASTOISE_MEGA] = sAnims_BlastoiseMega, + [SPECIES_BEEDRILL_MEGA] = sAnims_BeedrillMega, + [SPECIES_PIDGEOT_MEGA] = sAnims_PidgeotMega, + [SPECIES_ALAKAZAM_MEGA] = sAnims_AlakazamMega, + [SPECIES_SLOWBRO_MEGA] = sAnims_SlowbroMega, + [SPECIES_GENGAR_MEGA] = sAnims_GengarMega, + [SPECIES_KANGASKHAN_MEGA] = sAnims_KangaskhanMega, + [SPECIES_PINSIR_MEGA] = sAnims_PinsirMega, + [SPECIES_GYARADOS_MEGA] = sAnims_GyaradosMega, + [SPECIES_AERODACTYL_MEGA] = sAnims_AerodactylMega, + [SPECIES_MEWTWO_MEGA_X] = sAnims_MEWTWO_MEGA_X, + [SPECIES_MEWTWO_MEGA_Y] = sAnims_MEWTWO_MEGA_Y, + [SPECIES_AMPHAROS_MEGA] = sAnims_AmpharosMega, + [SPECIES_STEELIX_MEGA] = sAnims_SteelixMega, + [SPECIES_SCIZOR_MEGA] = sAnims_ScizorMega, + [SPECIES_HERACROSS_MEGA] = sAnims_HeracrossMega, + [SPECIES_HOUNDOOM_MEGA] = sAnims_HoundoomMega, + [SPECIES_TYRANITAR_MEGA] = sAnims_TyranitarMega, + [SPECIES_SCEPTILE_MEGA] = sAnims_SceptileMega, + [SPECIES_BLAZIKEN_MEGA] = sAnims_BlazikenMega, + [SPECIES_SWAMPERT_MEGA] = sAnims_SwampertMega, + [SPECIES_GARDEVOIR_MEGA] = sAnims_GardevoirMega, + [SPECIES_SABLEYE_MEGA] = sAnims_SableyeMega, + [SPECIES_MAWILE_MEGA] = sAnims_MawileMega, + [SPECIES_AGGRON_MEGA] = sAnims_AggronMega, + [SPECIES_MEDICHAM_MEGA] = sAnims_MedichamMega, + [SPECIES_MANECTRIC_MEGA] = sAnims_ManectricMega, + [SPECIES_SHARPEDO_MEGA] = sAnims_SharpedoMega, + [SPECIES_CAMERUPT_MEGA] = sAnims_CameruptMega, + [SPECIES_ALTARIA_MEGA] = sAnims_AltariaMega, + [SPECIES_BANETTE_MEGA] = sAnims_BanetteMega, + [SPECIES_ABSOL_MEGA] = sAnims_AbsolMega, + [SPECIES_GLALIE_MEGA] = sAnims_GlalieMega, + [SPECIES_SALAMENCE_MEGA] = sAnims_SalamenceMega, + [SPECIES_METAGROSS_MEGA] = sAnims_MetagrossMega, + [SPECIES_LATIAS_MEGA] = sAnims_LatiasMega, + [SPECIES_LATIOS_MEGA] = sAnims_LatiosMega, #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), + [SPECIES_LOPUNNY_MEGA] = sAnims_LopunnyMega, + [SPECIES_GARCHOMP_MEGA] = sAnims_GarchompMega, + [SPECIES_LUCARIO_MEGA] = sAnims_LucarioMega, + [SPECIES_ABOMASNOW_MEGA] = sAnims_AbomasnowMega, + [SPECIES_GALLADE_MEGA] = sAnims_GalladeMega, #endif #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(AUDINO_MEGA), + [SPECIES_AUDINO_MEGA] = sAnims_AudinoMega, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(DIANCIE_MEGA), + [SPECIES_DIANCIE_MEGA] = sAnims_DiancieMega, #endif - ANIM_CMD(RAYQUAZA_MEGA), - ANIM_CMD(KYOGRE_PRIMAL), - ANIM_CMD(GROUDON_PRIMAL), - ANIM_CMD(RATTATA_ALOLAN), - ANIM_CMD(RATICATE_ALOLAN), - ANIM_CMD(RAICHU_ALOLAN), - ANIM_CMD(SANDSHREW_ALOLAN), - ANIM_CMD(SANDSLASH_ALOLAN), - ANIM_CMD(VULPIX_ALOLAN), - ANIM_CMD(NINETALES_ALOLAN), - ANIM_CMD(DIGLETT_ALOLAN), - ANIM_CMD(DUGTRIO_ALOLAN), - ANIM_CMD(MEOWTH_ALOLAN), - ANIM_CMD(PERSIAN_ALOLAN), - ANIM_CMD(GEODUDE_ALOLAN), - ANIM_CMD(GRAVELER_ALOLAN), - ANIM_CMD(GOLEM_ALOLAN), - ANIM_CMD(GRIMER_ALOLAN), - ANIM_CMD(MUK_ALOLAN), - ANIM_CMD(EXEGGUTOR_ALOLAN), - ANIM_CMD(MAROWAK_ALOLAN), - ANIM_CMD(MEOWTH_GALARIAN), - ANIM_CMD(PONYTA_GALARIAN), - ANIM_CMD(RAPIDASH_GALARIAN), - ANIM_CMD(SLOWPOKE_GALARIAN), - ANIM_CMD(SLOWBRO_GALARIAN), - ANIM_CMD(FARFETCHD_GALARIAN), - ANIM_CMD(WEEZING_GALARIAN), - ANIM_CMD(MR_MIME_GALARIAN), - ANIM_CMD(ARTICUNO_GALARIAN), - ANIM_CMD(ZAPDOS_GALARIAN), - ANIM_CMD(MOLTRES_GALARIAN), - ANIM_CMD(SLOWKING_GALARIAN), - ANIM_CMD(CORSOLA_GALARIAN), - ANIM_CMD(ZIGZAGOON_GALARIAN), - ANIM_CMD(LINOONE_GALARIAN), + [SPECIES_RAYQUAZA_MEGA] = sAnims_RayquazaMega, + [SPECIES_KYOGRE_PRIMAL] = sAnims_KyogrePrimal, + [SPECIES_GROUDON_PRIMAL] = sAnims_GroudonPrimal, + [SPECIES_RATTATA_ALOLAN] = sAnims_RattataAlolan, + [SPECIES_RATICATE_ALOLAN] = sAnims_RaticateAlolan, + [SPECIES_RAICHU_ALOLAN] = sAnims_RaichuAlolan, + [SPECIES_SANDSHREW_ALOLAN] = sAnims_SandshrewAlolan, + [SPECIES_SANDSLASH_ALOLAN] = sAnims_SandslashAlolan, + [SPECIES_VULPIX_ALOLAN] = sAnims_VulpixAlolan, + [SPECIES_NINETALES_ALOLAN] = sAnims_NinetalesAlolan, + [SPECIES_DIGLETT_ALOLAN] = sAnims_DiglettAlolan, + [SPECIES_DUGTRIO_ALOLAN] = sAnims_DugtrioAlolan, + [SPECIES_MEOWTH_ALOLAN] = sAnims_MeowthAlolan, + [SPECIES_PERSIAN_ALOLAN] = sAnims_PersianAlolan, + [SPECIES_GEODUDE_ALOLAN] = sAnims_GeodudeAlolan, + [SPECIES_GRAVELER_ALOLAN] = sAnims_GravelerAlolan, + [SPECIES_GOLEM_ALOLAN] = sAnims_GolemAlolan, + [SPECIES_GRIMER_ALOLAN] = sAnims_GrimerAlolan, + [SPECIES_MUK_ALOLAN] = sAnims_MukAlolan, + [SPECIES_EXEGGUTOR_ALOLAN] = sAnims_ExeggutorAlolan, + [SPECIES_MAROWAK_ALOLAN] = sAnims_MarowakAlolan, + [SPECIES_MEOWTH_GALARIAN] = sAnims_MeowthGalarian, + [SPECIES_PONYTA_GALARIAN] = sAnims_PonytaGalarian, + [SPECIES_RAPIDASH_GALARIAN] = sAnims_RapidashGalarian, + [SPECIES_SLOWPOKE_GALARIAN] = sAnims_SlowpokeGalarian, + [SPECIES_SLOWBRO_GALARIAN] = sAnims_SlowbroGalarian, + [SPECIES_FARFETCHD_GALARIAN] = sAnims_FarfetchdGalarian, + [SPECIES_WEEZING_GALARIAN] = sAnims_WeezingGalarian, + [SPECIES_MR_MIME_GALARIAN] = sAnims_MrMimeGalarian, + [SPECIES_ARTICUNO_GALARIAN] = sAnims_ArticunoGalarian, + [SPECIES_ZAPDOS_GALARIAN] = sAnims_ZapdosGalarian, + [SPECIES_MOLTRES_GALARIAN] = sAnims_MoltresGalarian, + [SPECIES_SLOWKING_GALARIAN] = sAnims_SlowkingGalarian, + [SPECIES_CORSOLA_GALARIAN] = sAnims_CorsolaGalarian, + [SPECIES_ZIGZAGOON_GALARIAN] = sAnims_ZigzagoonGalarian, + [SPECIES_LINOONE_GALARIAN] = sAnims_LinooneGalarian, #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(DARUMAKA_GALARIAN), - ANIM_CMD(DARMANITAN_GALARIAN), - ANIM_CMD(YAMASK_GALARIAN), - ANIM_CMD(STUNFISK_GALARIAN), + [SPECIES_DARUMAKA_GALARIAN] = sAnims_DarumakaGalarian, + [SPECIES_DARMANITAN_GALARIAN] = sAnims_DarmanitanGalarian, + [SPECIES_YAMASK_GALARIAN] = sAnims_YamaskGalarian, + [SPECIES_STUNFISK_GALARIAN] = sAnims_StunfiskGalarian, #endif - ANIM_CMD(GROWLITHE_HISUIAN), - ANIM_CMD(ARCANINE_HISUIAN), - ANIM_CMD(VOLTORB_HISUIAN), - ANIM_CMD(ELECTRODE_HISUIAN), - ANIM_CMD(TYPHLOSION_HISUIAN), - ANIM_CMD(QWILFISH_HISUIAN), - ANIM_CMD(SNEASEL_HISUIAN), + [SPECIES_GROWLITHE_HISUIAN] = sAnims_GrowlitheHisuian, + [SPECIES_ARCANINE_HISUIAN] = sAnims_ArcanineHisuian, + [SPECIES_VOLTORB_HISUIAN] = sAnims_VoltorbHisuian, + [SPECIES_ELECTRODE_HISUIAN] = sAnims_ElectrodeHisuian, + [SPECIES_TYPHLOSION_HISUIAN] = sAnims_TyphlosionHisuian, + [SPECIES_QWILFISH_HISUIAN] = sAnims_QwilfishHisuian, + [SPECIES_SNEASEL_HISUIAN] = sAnims_SneaselHisuian, #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), + [SPECIES_SAMUROTT_HISUIAN] = sAnims_SamurottHisuian, + [SPECIES_LILLIGANT_HISUIAN] = sAnims_LilligantHisuian, + [SPECIES_ZORUA_HISUIAN] = sAnims_ZoruaHisuian, + [SPECIES_ZOROARK_HISUIAN] = sAnims_ZoroarkHisuian, + [SPECIES_BRAVIARY_HISUIAN] = sAnims_BraviaryHisuian, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(SLIGGOO_HISUIAN), - ANIM_CMD(GOODRA_HISUIAN), - ANIM_CMD(AVALUGG_HISUIAN), + [SPECIES_SLIGGOO_HISUIAN] = sAnims_SliggooHisuian, + [SPECIES_GOODRA_HISUIAN] = sAnims_GoodraHisuian, + [SPECIES_AVALUGG_HISUIAN] = sAnims_AvaluggHisuian, #endif #if P_GEN_7_POKEMON == TRUE - ANIM_CMD(DECIDUEYE_HISUIAN), + [SPECIES_DECIDUEYE_HISUIAN] = sAnims_DecidueyeHisuian, #endif - ANIM_CMD(PIKACHU_COSPLAY), - ANIM_CMD(PIKACHU_ROCK_STAR), - ANIM_CMD(PIKACHU_BELLE), - ANIM_CMD(PIKACHU_POP_STAR), - ANIM_CMD(PIKACHU_PH_D), - ANIM_CMD(PIKACHU_LIBRE), - ANIM_CMD(PIKACHU_ORIGINAL_CAP), - ANIM_CMD(PIKACHU_HOENN_CAP), - ANIM_CMD(PIKACHU_SINNOH_CAP), - ANIM_CMD(PIKACHU_UNOVA_CAP), - ANIM_CMD(PIKACHU_KALOS_CAP), - ANIM_CMD(PIKACHU_ALOLA_CAP), - ANIM_CMD(PIKACHU_PARTNER_CAP), - ANIM_CMD(PIKACHU_WORLD_CAP), - ANIM_CMD(PICHU_SPIKY_EARED), - ANIM_CMD(UNOWN_B), - ANIM_CMD(UNOWN_C), - ANIM_CMD(UNOWN_D), - ANIM_CMD(UNOWN_E), - ANIM_CMD(UNOWN_F), - ANIM_CMD(UNOWN_G), - ANIM_CMD(UNOWN_H), - ANIM_CMD(UNOWN_I), - ANIM_CMD(UNOWN_J), - ANIM_CMD(UNOWN_K), - ANIM_CMD(UNOWN_L), - ANIM_CMD(UNOWN_M), - ANIM_CMD(UNOWN_N), - ANIM_CMD(UNOWN_O), - ANIM_CMD(UNOWN_P), - ANIM_CMD(UNOWN_Q), - ANIM_CMD(UNOWN_R), - ANIM_CMD(UNOWN_S), - ANIM_CMD(UNOWN_T), - ANIM_CMD(UNOWN_U), - ANIM_CMD(UNOWN_V), - ANIM_CMD(UNOWN_W), - ANIM_CMD(UNOWN_X), - ANIM_CMD(UNOWN_Y), - ANIM_CMD(UNOWN_Z), - ANIM_CMD(UNOWN_EMARK), - ANIM_CMD(UNOWN_QMARK), - ANIM_CMD_FULL(CASTFORM_SUNNY, sAnims_CASTFORM), - ANIM_CMD_FULL(CASTFORM_RAINY, sAnims_CASTFORM), - ANIM_CMD_FULL(CASTFORM_SNOWY, sAnims_CASTFORM), - ANIM_CMD(DEOXYS_ATTACK), - ANIM_CMD(DEOXYS_DEFENSE), - ANIM_CMD(DEOXYS_SPEED), + [SPECIES_PIKACHU_COSPLAY] = sAnims_PikachuCosplay, + [SPECIES_PIKACHU_ROCK_STAR] = sAnims_PikachuRockStar, + [SPECIES_PIKACHU_BELLE] = sAnims_PikachuBelle, + [SPECIES_PIKACHU_POP_STAR] = sAnims_PikachuPopStar, + [SPECIES_PIKACHU_PH_D] = sAnims_PIKACHU_PH_D, + [SPECIES_PIKACHU_LIBRE] = sAnims_PikachuLibre, + [SPECIES_PIKACHU_ORIGINAL_CAP] = sAnims_PikachuOriginalCap, + [SPECIES_PIKACHU_HOENN_CAP] = sAnims_PikachuHoennCap, + [SPECIES_PIKACHU_SINNOH_CAP] = sAnims_PikachuSinnohCap, + [SPECIES_PIKACHU_UNOVA_CAP] = sAnims_PikachuUnovaCap, + [SPECIES_PIKACHU_KALOS_CAP] = sAnims_PikachuKalosCap, + [SPECIES_PIKACHU_ALOLA_CAP] = sAnims_PikachuAlolaCap, + [SPECIES_PIKACHU_PARTNER_CAP] = sAnims_PikachuPartnerCap, + [SPECIES_PIKACHU_WORLD_CAP] = sAnims_PikachuWorldCap, + [SPECIES_PICHU_SPIKY_EARED] = sAnims_PichuSpikyEared, + [SPECIES_UNOWN_B] = sAnims_UnownB, + [SPECIES_UNOWN_C] = sAnims_UnownC, + [SPECIES_UNOWN_D] = sAnims_UnownD, + [SPECIES_UNOWN_E] = sAnims_UnownE, + [SPECIES_UNOWN_F] = sAnims_UnownF, + [SPECIES_UNOWN_G] = sAnims_UnownG, + [SPECIES_UNOWN_H] = sAnims_UnownH, + [SPECIES_UNOWN_I] = sAnims_UnownI, + [SPECIES_UNOWN_J] = sAnims_UnownJ, + [SPECIES_UNOWN_K] = sAnims_UnownK, + [SPECIES_UNOWN_L] = sAnims_UnownL, + [SPECIES_UNOWN_M] = sAnims_UnownM, + [SPECIES_UNOWN_N] = sAnims_UnownN, + [SPECIES_UNOWN_O] = sAnims_UnownO, + [SPECIES_UNOWN_P] = sAnims_UnownP, + [SPECIES_UNOWN_Q] = sAnims_UnownQ, + [SPECIES_UNOWN_R] = sAnims_UnownR, + [SPECIES_UNOWN_S] = sAnims_UnownS, + [SPECIES_UNOWN_T] = sAnims_UnownT, + [SPECIES_UNOWN_U] = sAnims_UnownU, + [SPECIES_UNOWN_V] = sAnims_UnownV, + [SPECIES_UNOWN_W] = sAnims_UnownW, + [SPECIES_UNOWN_X] = sAnims_UnownX, + [SPECIES_UNOWN_Y] = sAnims_UnownY, + [SPECIES_UNOWN_Z] = sAnims_UnownZ, + [SPECIES_UNOWN_EMARK] = sAnims_UnownEMark, + [SPECIES_UNOWN_QMARK] = sAnims_UnownQMark, + [SPECIES_CASTFORM_SUNNY] = sAnims_Castform, + [SPECIES_CASTFORM_RAINY] = sAnims_Castform, + [SPECIES_CASTFORM_SNOWY] = sAnims_Castform, + [SPECIES_DEOXYS_ATTACK] = sAnims_DeoxysAttack, + [SPECIES_DEOXYS_DEFENSE] = sAnims_DeoxysDefense, + [SPECIES_DEOXYS_SPEED] = sAnims_DeoxysSpeed, #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), - ANIM_CMD_FULL(WORMADAM_TRASH_CLOAK, sAnims_WORMADAM), - ANIM_CMD_FULL(CHERRIM_SUNSHINE, sAnims_CHERRIM), - ANIM_CMD_FULL(SHELLOS_EAST_SEA, sAnims_SHELLOS), - ANIM_CMD_FULL(GASTRODON_EAST_SEA, sAnims_GASTRODON), - ANIM_CMD(ROTOM_HEAT), - ANIM_CMD(ROTOM_WASH), - ANIM_CMD(ROTOM_FROST), - ANIM_CMD(ROTOM_FAN), - ANIM_CMD(ROTOM_MOW), - ANIM_CMD(DIALGA_ORIGIN), - ANIM_CMD(PALKIA_ORIGIN), - ANIM_CMD(GIRATINA_ORIGIN), - ANIM_CMD(SHAYMIN_SKY), - ANIM_CMD_FULL(ARCEUS_FIGHTING, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FLYING, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_POISON, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GROUND, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ROCK, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_BUG, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GHOST, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_STEEL, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FIRE, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_WATER, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GRASS, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ELECTRIC, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_PSYCHIC, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ICE, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_DRAGON, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_DARK, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FAIRY, sAnims_ARCEUS), + [SPECIES_BURMY_SANDY_CLOAK] = sAnims_Burmy, + [SPECIES_BURMY_TRASH_CLOAK] = sAnims_Burmy, + [SPECIES_WORMADAM_SANDY_CLOAK] = sAnims_Wormadam, + [SPECIES_WORMADAM_TRASH_CLOAK] = sAnims_Wormadam, + [SPECIES_CHERRIM_SUNSHINE] = sAnims_CherrimSunshine, + [SPECIES_SHELLOS_EAST_SEA] = sAnims_Shellos, + [SPECIES_GASTRODON_EAST_SEA] = sAnims_Gastrodon, + [SPECIES_ROTOM_HEAT] = sAnims_RotomHeat, + [SPECIES_ROTOM_WASH] = sAnims_RotomWash, + [SPECIES_ROTOM_FROST] = sAnims_RotomFrost, + [SPECIES_ROTOM_FAN] = sAnims_RotomFan, + [SPECIES_ROTOM_MOW] = sAnims_RotomMow, + [SPECIES_DIALGA_ORIGIN] = sAnims_DialgaOrigin, + [SPECIES_PALKIA_ORIGIN] = sAnims_PalkiaOrigin, + [SPECIES_GIRATINA_ORIGIN] = sAnims_GiratinaOrigin, + [SPECIES_SHAYMIN_SKY] = sAnims_ShayminSky, + [SPECIES_ARCEUS_FIGHTING] = sAnims_Arceus, + [SPECIES_ARCEUS_FLYING] = sAnims_Arceus, + [SPECIES_ARCEUS_POISON] = sAnims_Arceus, + [SPECIES_ARCEUS_GROUND] = sAnims_Arceus, + [SPECIES_ARCEUS_ROCK] = sAnims_Arceus, + [SPECIES_ARCEUS_BUG] = sAnims_Arceus, + [SPECIES_ARCEUS_GHOST] = sAnims_Arceus, + [SPECIES_ARCEUS_STEEL] = sAnims_Arceus, + [SPECIES_ARCEUS_FIRE] = sAnims_Arceus, + [SPECIES_ARCEUS_WATER] = sAnims_Arceus, + [SPECIES_ARCEUS_GRASS] = sAnims_Arceus, + [SPECIES_ARCEUS_ELECTRIC] = sAnims_Arceus, + [SPECIES_ARCEUS_PSYCHIC] = sAnims_Arceus, + [SPECIES_ARCEUS_ICE] = sAnims_Arceus, + [SPECIES_ARCEUS_DRAGON] = sAnims_Arceus, + [SPECIES_ARCEUS_DARK] = sAnims_Arceus, + [SPECIES_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), - ANIM_CMD(DARMANITAN_ZEN_MODE_GALARIAN), - ANIM_CMD_FULL(DEERLING_SUMMER, sAnims_DEERLING), - ANIM_CMD_FULL(DEERLING_AUTUMN, sAnims_DEERLING), - ANIM_CMD_FULL(DEERLING_WINTER, sAnims_DEERLING), - ANIM_CMD_FULL(SAWSBUCK_SUMMER, sAnims_SAWSBUCK), - ANIM_CMD_FULL(SAWSBUCK_AUTUMN, sAnims_SAWSBUCK), - ANIM_CMD_FULL(SAWSBUCK_WINTER, sAnims_SAWSBUCK), - ANIM_CMD(TORNADUS_THERIAN), - ANIM_CMD(THUNDURUS_THERIAN), - ANIM_CMD(LANDORUS_THERIAN), - ANIM_CMD(KYUREM_WHITE), - ANIM_CMD(KYUREM_BLACK), - ANIM_CMD(MELOETTA_PIROUETTE), - ANIM_CMD(KELDEO_RESOLUTE), - ANIM_CMD_FULL(GENESECT_DOUSE_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_SHOCK_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_CHILL_DRIVE, sAnims_GENESECT), + [SPECIES_BASCULIN_BLUE_STRIPED] = sAnims_Basculin, + [SPECIES_BASCULIN_WHITE_STRIPED] = sAnims_Basculin, + [SPECIES_DARMANITAN_ZEN_MODE] = sAnims_DarmanitanZenMode, + [SPECIES_DARMANITAN_ZEN_MODE_GALARIAN] = sAnims_DarmanitanZenModeGalarian, + [SPECIES_DEERLING_SUMMER] = sAnims_Deerling, + [SPECIES_DEERLING_AUTUMN] = sAnims_Deerling, + [SPECIES_DEERLING_WINTER] = sAnims_Deerling, + [SPECIES_SAWSBUCK_SUMMER] = sAnims_Sawsbuck, + [SPECIES_SAWSBUCK_AUTUMN] = sAnims_Sawsbuck, + [SPECIES_SAWSBUCK_WINTER] = sAnims_Sawsbuck, + [SPECIES_TORNADUS_THERIAN] = sAnims_TornadusTherian, + [SPECIES_THUNDURUS_THERIAN] = sAnims_ThundurusTherian, + [SPECIES_LANDORUS_THERIAN] = sAnims_LandorusTherian, + [SPECIES_KYUREM_WHITE] = sAnims_KyuremWhite, + [SPECIES_KYUREM_BLACK] = sAnims_KyuremBlack, + [SPECIES_KELDEO_RESOLUTE] = sAnims_KeldeoResolute, + [SPECIES_MELOETTA_PIROUETTE] = sAnims_MeloettaPirouette, + [SPECIES_GENESECT_DOUSE_DRIVE] = sAnims_Genesect, + [SPECIES_GENESECT_SHOCK_DRIVE] = sAnims_Genesect, + [SPECIES_GENESECT_BURN_DRIVE] = sAnims_Genesect, + [SPECIES_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), - ANIM_CMD_FULL(VIVILLON_TUNDRA, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_CONTINENTAL, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_GARDEN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_ELEGANT, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MEADOW, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MODERN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MARINE, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_ARCHIPELAGO, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_HIGH_PLAINS, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SANDSTORM, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_RIVER, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MONSOON, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SAVANNA, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SUN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_OCEAN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_JUNGLE, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_FANCY, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_POKE_BALL, sAnims_VIVILLON), - ANIM_CMD_FULL(FLABEBE_YELLOW_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_ORANGE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_BLUE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_WHITE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLOETTE_YELLOW_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_ORANGE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_BLUE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_WHITE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_ETERNAL_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLORGES_YELLOW_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_ORANGE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_BLUE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_WHITE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FURFROU_HEART_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_STAR_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DIAMOND_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DEBUTANTE_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_MATRON_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DANDY_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_LA_REINE_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_KABUKI_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_PHARAOH_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(MEOWSTIC_FEMALE, sAnims_MEOWSTIC), - ANIM_CMD(AEGISLASH_BLADE), - ANIM_CMD_FULL(PUMPKABOO_SMALL, sAnims_PUMPKABOO), - ANIM_CMD_FULL(PUMPKABOO_LARGE, sAnims_PUMPKABOO), - ANIM_CMD_FULL(PUMPKABOO_SUPER, sAnims_PUMPKABOO), - ANIM_CMD_FULL(GOURGEIST_SMALL, sAnims_GOURGEIST), - ANIM_CMD_FULL(GOURGEIST_LARGE, sAnims_GOURGEIST), - ANIM_CMD_FULL(GOURGEIST_SUPER, sAnims_GOURGEIST), - ANIM_CMD_FULL(XERNEAS_ACTIVE, sAnims_XERNEAS), - ANIM_CMD(ZYGARDE_10), - ANIM_CMD_FULL(ZYGARDE_10_POWER_CONSTRUCT, sAnims_ZYGARDE), - ANIM_CMD_FULL(ZYGARDE_50_POWER_CONSTRUCT, sAnims_ZYGARDE), - ANIM_CMD(ZYGARDE_COMPLETE), - ANIM_CMD(HOOPA_UNBOUND), + [SPECIES_GRENINJA_BATTLE_BOND] = sAnims_Greninja, + [SPECIES_GRENINJA_ASH] = sAnims_GreninjaAsh, + [SPECIES_VIVILLON_POLAR] = sAnims_Vivillon, + [SPECIES_VIVILLON_TUNDRA] = sAnims_Vivillon, + [SPECIES_VIVILLON_CONTINENTAL] = sAnims_Vivillon, + [SPECIES_VIVILLON_GARDEN] = sAnims_Vivillon, + [SPECIES_VIVILLON_ELEGANT] = sAnims_Vivillon, + [SPECIES_VIVILLON_MEADOW] = sAnims_Vivillon, + [SPECIES_VIVILLON_MODERN] = sAnims_Vivillon, + [SPECIES_VIVILLON_MARINE] = sAnims_Vivillon, + [SPECIES_VIVILLON_ARCHIPELAGO] = sAnims_Vivillon, + [SPECIES_VIVILLON_HIGH_PLAINS] = sAnims_Vivillon, + [SPECIES_VIVILLON_SANDSTORM] = sAnims_Vivillon, + [SPECIES_VIVILLON_RIVER] = sAnims_Vivillon, + [SPECIES_VIVILLON_MONSOON] = sAnims_Vivillon, + [SPECIES_VIVILLON_SAVANNA] = sAnims_Vivillon, + [SPECIES_VIVILLON_SUN] = sAnims_Vivillon, + [SPECIES_VIVILLON_OCEAN] = sAnims_Vivillon, + [SPECIES_VIVILLON_JUNGLE] = sAnims_Vivillon, + [SPECIES_VIVILLON_FANCY] = sAnims_Vivillon, + [SPECIES_VIVILLON_POKE_BALL] = sAnims_Vivillon, + [SPECIES_FLABEBE_YELLOW_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_ORANGE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_BLUE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_WHITE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLOETTE_YELLOW_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_ORANGE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_BLUE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_WHITE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_ETERNAL_FLOWER] = sAnims_Floette, + [SPECIES_FLORGES_YELLOW_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_ORANGE_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_BLUE_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_WHITE_FLOWER] = sAnims_Florges, + [SPECIES_FURFROU_HEART_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_STAR_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DIAMOND_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DEBUTANTE_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_MATRON_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DANDY_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_LA_REINE_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_KABUKI_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_PHARAOH_TRIM] = sAnims_Furfrou, + [SPECIES_MEOWSTIC_FEMALE] = sAnims_Meowstic, + [SPECIES_AEGISLASH_BLADE] = sAnims_AegislashBlade, + [SPECIES_PUMPKABOO_SMALL] = sAnims_Pumpkaboo, + [SPECIES_PUMPKABOO_LARGE] = sAnims_Pumpkaboo, + [SPECIES_PUMPKABOO_SUPER] = sAnims_Pumpkaboo, + [SPECIES_GOURGEIST_SMALL] = sAnims_Gourgeist, + [SPECIES_GOURGEIST_LARGE] = sAnims_Gourgeist, + [SPECIES_GOURGEIST_SUPER] = sAnims_Gourgeist, + [SPECIES_XERNEAS_ACTIVE] = sAnims_Xerneas, + [SPECIES_ZYGARDE_10] = sAnims_Zygarde10, + [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = sAnims_Zygarde10, + [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = sAnims_Zygarde, + [SPECIES_ZYGARDE_COMPLETE] = sAnims_ZygardeComplete, + [SPECIES_HOOPA_UNBOUND] = sAnims_HoopaUnbound, #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), - ANIM_CMD_FULL(ROCKRUFF_OWN_TEMPO, sAnims_ROCKRUFF), - ANIM_CMD(LYCANROC_MIDNIGHT), - ANIM_CMD(LYCANROC_DUSK), - ANIM_CMD(WISHIWASHI_SCHOOL), - ANIM_CMD_FULL(SILVALLY_FIGHTING, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FLYING, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_POISON, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GROUND, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ROCK, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_BUG, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GHOST, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_STEEL, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FIRE, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_WATER, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GRASS, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ELECTRIC, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_PSYCHIC, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ICE, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_DRAGON, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_DARK, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FAIRY, sAnims_SILVALLY), - ANIM_CMD_FULL(MINIOR_METEOR_ORANGE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_YELLOW, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_GREEN, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_BLUE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_INDIGO, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_VIOLET, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_RED, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_ORANGE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_YELLOW, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_GREEN, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_BLUE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_INDIGO, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_VIOLET, sAnims_MINIOR), - ANIM_CMD(MIMIKYU_BUSTED), - ANIM_CMD_FULL(NECROZMA_DUSK_MANE, sAnims_NECROZMA), - ANIM_CMD_FULL(NECROZMA_DAWN_WINGS, sAnims_NECROZMA), - ANIM_CMD_FULL(NECROZMA_ULTRA, sAnims_NECROZMA), - ANIM_CMD_FULL(MAGEARNA_ORIGINAL_COLOR, sAnims_MAGEARNA), + [SPECIES_ORICORIO_POM_POM] = sAnims_Oricorio, + [SPECIES_ORICORIO_PAU] = sAnims_Oricorio, + [SPECIES_ORICORIO_SENSU] = sAnims_Oricorio, + [SPECIES_ROCKRUFF_OWN_TEMPO] = sAnims_Rockruff, + [SPECIES_LYCANROC_MIDNIGHT] = sAnims_LycanrocMidnight, + [SPECIES_LYCANROC_DUSK] = sAnims_LycanrocDusk, + [SPECIES_WISHIWASHI_SCHOOL] = sAnims_WishiwashiSchool, + [SPECIES_SILVALLY_FIGHTING] = sAnims_Silvally, + [SPECIES_SILVALLY_FLYING] = sAnims_Silvally, + [SPECIES_SILVALLY_POISON] = sAnims_Silvally, + [SPECIES_SILVALLY_GROUND] = sAnims_Silvally, + [SPECIES_SILVALLY_ROCK] = sAnims_Silvally, + [SPECIES_SILVALLY_BUG] = sAnims_Silvally, + [SPECIES_SILVALLY_GHOST] = sAnims_Silvally, + [SPECIES_SILVALLY_STEEL] = sAnims_Silvally, + [SPECIES_SILVALLY_FIRE] = sAnims_Silvally, + [SPECIES_SILVALLY_WATER] = sAnims_Silvally, + [SPECIES_SILVALLY_GRASS] = sAnims_Silvally, + [SPECIES_SILVALLY_ELECTRIC] = sAnims_Silvally, + [SPECIES_SILVALLY_PSYCHIC] = sAnims_Silvally, + [SPECIES_SILVALLY_ICE] = sAnims_Silvally, + [SPECIES_SILVALLY_DRAGON] = sAnims_Silvally, + [SPECIES_SILVALLY_DARK] = sAnims_Silvally, + [SPECIES_SILVALLY_FAIRY] = sAnims_Silvally, + [SPECIES_MINIOR_METEOR_ORANGE] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_YELLOW] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_GREEN] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_BLUE] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_INDIGO] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_VIOLET] = sAnims_Minior, + [SPECIES_MINIOR_CORE_RED] = sAnims_Minior, + [SPECIES_MINIOR_CORE_ORANGE] = sAnims_Minior, + [SPECIES_MINIOR_CORE_YELLOW] = sAnims_Minior, + [SPECIES_MINIOR_CORE_GREEN] = sAnims_Minior, + [SPECIES_MINIOR_CORE_BLUE] = sAnims_Minior, + [SPECIES_MINIOR_CORE_INDIGO] = sAnims_Minior, + [SPECIES_MINIOR_CORE_VIOLET] = sAnims_Minior, + [SPECIES_MIMIKYU_BUSTED] = sAnims_MimikyuBusted, + [SPECIES_NECROZMA_DUSK_MANE] = sAnims_Necrozma, + [SPECIES_NECROZMA_DAWN_WINGS] = sAnims_Necrozma, + [SPECIES_NECROZMA_ULTRA] = sAnims_Necrozma, + [SPECIES_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), - ANIM_CMD_FULL(SINISTEA_ANTIQUE, sAnims_SINISTEA), - ANIM_CMD_FULL(POLTEAGEIST_ANTIQUE, sAnims_POLTEAGEIST), - ANIM_CMD_FULL(ALCREMIE_RUBY_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_MATCHA_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_MINT_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_LEMON_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_SALTED_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_RUBY_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_CARAMEL_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_RAINBOW_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(EISCUE_NOICE_FACE, sAnims_EISCUE), - ANIM_CMD_FULL(INDEEDEE_FEMALE, sAnims_INDEEDEE), - ANIM_CMD_FULL(MORPEKO_HANGRY, sAnims_MORPEKO), - ANIM_CMD_FULL(ZACIAN_CROWNED_SWORD, sAnims_ZACIAN), - ANIM_CMD_FULL(ZAMAZENTA_CROWNED_SHIELD, sAnims_ZAMAZENTA), - ANIM_CMD_FULL(ETERNATUS_ETERNAMAX, sAnims_ETERNATUS), - ANIM_CMD_FULL(URSHIFU_RAPID_STRIKE_STYLE, sAnims_URSHIFU), - 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), + [SPECIES_CRAMORANT_GULPING] = sAnims_Cramorant, + [SPECIES_CRAMORANT_GORGING] = sAnims_Cramorant, + [SPECIES_TOXTRICITY_LOW_KEY] = sAnims_Toxtricity, + [SPECIES_SINISTEA_ANTIQUE] = sAnims_Sinistea, + [SPECIES_POLTEAGEIST_ANTIQUE] = sAnims_Polteageist, + [SPECIES_ALCREMIE_RUBY_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_MATCHA_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_MINT_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_LEMON_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_SALTED_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_RUBY_SWIRL] = sAnims_Alcremie, + [SPECIES_ALCREMIE_CARAMEL_SWIRL] = sAnims_Alcremie, + [SPECIES_ALCREMIE_RAINBOW_SWIRL] = sAnims_Alcremie, + [SPECIES_EISCUE_NOICE_FACE] = sAnims_Eiscue, + [SPECIES_INDEEDEE_FEMALE] = sAnims_Indeedee, + [SPECIES_MORPEKO_HANGRY] = sAnims_Morpeko, + [SPECIES_ZACIAN_CROWNED_SWORD] = sAnims_Zacian, + [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = sAnims_Zamazenta, + [SPECIES_ETERNATUS_ETERNAMAX] = sAnims_Eternatus, + [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = sAnims_Urshifu, + [SPECIES_ZARUDE_DADA] = sAnims_Zarude, + [SPECIES_CALYREX_ICE_RIDER] = sAnims_Calyrex, + [SPECIES_CALYREX_SHADOW_RIDER] = sAnims_Calyrex, + [SPECIES_ENAMORUS_THERIAN] = sAnims_EnamorusTherian, #endif - ANIM_CMD(EGG), + [SPECIES_EGG] = sAnims_Egg, }; - -#undef ANIM_CMD -#undef ANIM_CMD_FULL diff --git a/src/data/region_map/city_map_tilemaps.h b/src/data/region_map/city_map_tilemaps.h index fed1589352..11a48c15dc 100644 --- a/src/data/region_map/city_map_tilemaps.h +++ b/src/data/region_map/city_map_tilemaps.h @@ -1,22 +1,22 @@ -const u32 gPokenavCityMap_Lavaridge_0[] = INCBIN_U32("graphics/pokenav/city_maps/lavaridge_0.bin.lz"); -const u32 gPokenavCityMap_Fallarbor_0[] = INCBIN_U32("graphics/pokenav/city_maps/fallarbor_0.bin.lz"); -const u32 gPokenavCityMap_Fortree_0[] = INCBIN_U32("graphics/pokenav/city_maps/fortree_0.bin.lz"); -const u32 gPokenavCityMap_Slateport_0[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_0.bin.lz"); -const u32 gPokenavCityMap_Slateport_1[] = INCBIN_U32("graphics/pokenav/city_maps/slateport_1.bin.lz"); -const u32 gPokenavCityMap_Rustboro_0[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_0.bin.lz"); -const u32 gPokenavCityMap_Rustboro_1[] = INCBIN_U32("graphics/pokenav/city_maps/rustboro_1.bin.lz"); -const u32 gPokenavCityMap_Pacifidlog_0[] = INCBIN_U32("graphics/pokenav/city_maps/pacifidlog_0.bin.lz"); -const u32 gPokenavCityMap_Mauville_1[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_1.bin.lz"); -const u32 gPokenavCityMap_Mauville_0[] = INCBIN_U32("graphics/pokenav/city_maps/mauville_0.bin.lz"); -const u32 gPokenavCityMap_Oldale_0[] = INCBIN_U32("graphics/pokenav/city_maps/oldale_0.bin.lz"); -const u32 gPokenavCityMap_Lilycove_1[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_1.bin.lz"); -const u32 gPokenavCityMap_Lilycove_0[] = INCBIN_U32("graphics/pokenav/city_maps/lilycove_0.bin.lz"); -const u32 gPokenavCityMap_Littleroot_0[] = INCBIN_U32("graphics/pokenav/city_maps/littleroot_0.bin.lz"); -const u32 gPokenavCityMap_Dewford_0[] = INCBIN_U32("graphics/pokenav/city_maps/dewford_0.bin.lz"); -const u32 gPokenavCityMap_Sootopolis_0[] = INCBIN_U32("graphics/pokenav/city_maps/sootopolis_0.bin.lz"); -const u32 gPokenavCityMap_EverGrande_0[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_0.bin.lz"); -const u32 gPokenavCityMap_EverGrande_1[] = INCBIN_U32("graphics/pokenav/city_maps/ever_grande_1.bin.lz"); -const u32 gPokenavCityMap_Verdanturf_0[] = INCBIN_U32("graphics/pokenav/city_maps/verdanturf_0.bin.lz"); -const u32 gPokenavCityMap_Mossdeep_1[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_1.bin.lz"); -const u32 gPokenavCityMap_Mossdeep_0[] = INCBIN_U32("graphics/pokenav/city_maps/mossdeep_0.bin.lz"); -const u32 gPokenavCityMap_Petalburg_0[] = INCBIN_U32("graphics/pokenav/city_maps/petalburg_0.bin.lz"); +const u32 gPokenavCityMap_Lavaridge_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lavaridge_0.bin.lz"); +const u32 gPokenavCityMap_Fallarbor_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/fallarbor_0.bin.lz"); +const u32 gPokenavCityMap_Fortree_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/fortree_0.bin.lz"); +const u32 gPokenavCityMap_Slateport_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/slateport_0.bin.lz"); +const u32 gPokenavCityMap_Slateport_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/slateport_1.bin.lz"); +const u32 gPokenavCityMap_Rustboro_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/rustboro_0.bin.lz"); +const u32 gPokenavCityMap_Rustboro_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/rustboro_1.bin.lz"); +const u32 gPokenavCityMap_Pacifidlog_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/pacifidlog_0.bin.lz"); +const u32 gPokenavCityMap_Mauville_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mauville_1.bin.lz"); +const u32 gPokenavCityMap_Mauville_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mauville_0.bin.lz"); +const u32 gPokenavCityMap_Oldale_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/oldale_0.bin.lz"); +const u32 gPokenavCityMap_Lilycove_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lilycove_1.bin.lz"); +const u32 gPokenavCityMap_Lilycove_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/lilycove_0.bin.lz"); +const u32 gPokenavCityMap_Littleroot_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/littleroot_0.bin.lz"); +const u32 gPokenavCityMap_Dewford_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/dewford_0.bin.lz"); +const u32 gPokenavCityMap_Sootopolis_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/sootopolis_0.bin.lz"); +const u32 gPokenavCityMap_EverGrande_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/ever_grande_0.bin.lz"); +const u32 gPokenavCityMap_EverGrande_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/ever_grande_1.bin.lz"); +const u32 gPokenavCityMap_Verdanturf_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/verdanturf_0.bin.lz"); +const u32 gPokenavCityMap_Mossdeep_1[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mossdeep_1.bin.lz"); +const u32 gPokenavCityMap_Mossdeep_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/mossdeep_0.bin.lz"); +const u32 gPokenavCityMap_Petalburg_0[] = INCBIN_U32("graphics/pokenav/region_map/city_maps/petalburg_0.bin.lz"); diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h deleted file mode 100644 index d1913cd8a0..0000000000 --- a/src/data/region_map/region_map_entries.h +++ /dev/null @@ -1,418 +0,0 @@ -#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H -#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H - -static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); -static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN"); -static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN"); -static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); -static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN"); -static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); -static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); -static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY"); -static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY"); -static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY"); -static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY"); -static const u8 sMapName_FortreeCity[] = _("FORTREE CITY"); -static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY"); -static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY"); -static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); -static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); -static const u8 sMapName_Route101[] = _("ROUTE 101"); -static const u8 sMapName_Route102[] = _("ROUTE 102"); -static const u8 sMapName_Route103[] = _("ROUTE 103"); -static const u8 sMapName_Route104[] = _("ROUTE 104"); -static const u8 sMapName_Route105[] = _("ROUTE 105"); -static const u8 sMapName_Route106[] = _("ROUTE 106"); -static const u8 sMapName_Route107[] = _("ROUTE 107"); -static const u8 sMapName_Route108[] = _("ROUTE 108"); -static const u8 sMapName_Route109[] = _("ROUTE 109"); -static const u8 sMapName_Route110[] = _("ROUTE 110"); -static const u8 sMapName_Route111[] = _("ROUTE 111"); -static const u8 sMapName_Route112[] = _("ROUTE 112"); -static const u8 sMapName_Route113[] = _("ROUTE 113"); -static const u8 sMapName_Route114[] = _("ROUTE 114"); -static const u8 sMapName_Route115[] = _("ROUTE 115"); -static const u8 sMapName_Route116[] = _("ROUTE 116"); -static const u8 sMapName_Route117[] = _("ROUTE 117"); -static const u8 sMapName_Route118[] = _("ROUTE 118"); -static const u8 sMapName_Route119[] = _("ROUTE 119"); -static const u8 sMapName_Route120[] = _("ROUTE 120"); -static const u8 sMapName_Route121[] = _("ROUTE 121"); -static const u8 sMapName_Route122[] = _("ROUTE 122"); -static const u8 sMapName_Route123[] = _("ROUTE 123"); -static const u8 sMapName_Route124[] = _("ROUTE 124"); -static const u8 sMapName_Route125[] = _("ROUTE 125"); -static const u8 sMapName_Route126[] = _("ROUTE 126"); -static const u8 sMapName_Route127[] = _("ROUTE 127"); -static const u8 sMapName_Route128[] = _("ROUTE 128"); -static const u8 sMapName_Route129[] = _("ROUTE 129"); -static const u8 sMapName_Route130[] = _("ROUTE 130"); -static const u8 sMapName_Route131[] = _("ROUTE 131"); -static const u8 sMapName_Route132[] = _("ROUTE 132"); -static const u8 sMapName_Route133[] = _("ROUTE 133"); -static const u8 sMapName_Route134[] = _("ROUTE 134"); -static const u8 sMapName_Underwater[] = _("UNDERWATER"); -static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE"); -static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY"); -static const u8 sMapName_SafariZone[] = _("SAFARI ZONE"); -static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER"); -static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS"); -static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); -static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); -static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); -static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); -static const u8 sMapName_MtPyre[] = _("MT. PYRE"); -static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); -static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); -static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); -static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD"); -static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND"); -static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); -static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); -static const u8 sMapName_FieryPath[] = _("FIERY PATH"); -static const u8 sMapName_JaggedPass[] = _("JAGGED PASS"); -static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER"); -static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB"); -static const u8 sMapName_IslandCave[] = _("ISLAND CAVE"); -static const u8 sMapName_DesertRuins[] = _("DESERT RUINS"); -static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB"); -static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); -static const u8 sMapName_SkyPillar[] = _("SKY PILLAR"); -static const u8 sMapName_SecretBase[] = _("SECRET BASE"); -static const u8 sMapName_None[] = _(""); -static const u8 sMapName_PalletTown[] = _("PALLET TOWN"); -static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY"); -static const u8 sMapName_PewterCity[] = _("PEWTER CITY"); -static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY"); -static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN"); -static const u8 sMapName_VermilionCity[] = _("VERMILION CITY"); -static const u8 sMapName_CeladonCity[] = _("CELADON CITY"); -static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY"); -static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); -static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); -static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY"); -static const u8 sMapName_Route4[] = _("ROUTE 4"); -static const u8 sMapName_Route10[] = _("ROUTE 10"); -static const u8 sMapName_Route1[] = _("ROUTE 1"); -static const u8 sMapName_Route2[] = _("ROUTE 2"); -static const u8 sMapName_Route3[] = _("ROUTE 3"); -static const u8 sMapName_Route4_2[] = _("ROUTE 4"); -static const u8 sMapName_Route5[] = _("ROUTE 5"); -static const u8 sMapName_Route6[] = _("ROUTE 6"); -static const u8 sMapName_Route7[] = _("ROUTE 7"); -static const u8 sMapName_Route8[] = _("ROUTE 8"); -static const u8 sMapName_Route9[] = _("ROUTE 9"); -static const u8 sMapName_Route10_2[] = _("ROUTE 10"); -static const u8 sMapName_Route11[] = _("ROUTE 11"); -static const u8 sMapName_Route12[] = _("ROUTE 12"); -static const u8 sMapName_Route13[] = _("ROUTE 13"); -static const u8 sMapName_Route14[] = _("ROUTE 14"); -static const u8 sMapName_Route15[] = _("ROUTE 15"); -static const u8 sMapName_Route16[] = _("ROUTE 16"); -static const u8 sMapName_Route17[] = _("ROUTE 17"); -static const u8 sMapName_Route18[] = _("ROUTE 18"); -static const u8 sMapName_Route19[] = _("ROUTE 19"); -static const u8 sMapName_Route20[] = _("ROUTE 20"); -static const u8 sMapName_Route21[] = _("ROUTE 21"); -static const u8 sMapName_Route22[] = _("ROUTE 22"); -static const u8 sMapName_Route23[] = _("ROUTE 23"); -static const u8 sMapName_Route24[] = _("ROUTE 24"); -static const u8 sMapName_Route25[] = _("ROUTE 25"); -static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST"); -static const u8 sMapName_MtMoon[] = _("MT. MOON"); -static const u8 sMapName_SSAnne[] = _("S.S. ANNE"); -static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH"); -static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); -static const u8 sMapName_DiglettsCave[] = _("DIGLETT'S CAVE"); -static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); -static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT"); -static const u8 sMapName_SilphCo[] = _("SILPH CO."); -static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION"); -static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE"); -static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE"); -static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL"); -static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); -static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER"); -static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE"); -static const u8 sMapName_PowerPlant[] = _("POWER PLANT"); -static const u8 sMapName_OneIsland[] = _("ONE ISLAND"); -static const u8 sMapName_TwoIsland[] = _("TWO ISLAND"); -static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND"); -static const u8 sMapName_FourIsland[] = _("FOUR ISLAND"); -static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND"); -static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND"); -static const u8 sMapName_SixIsland[] = _("SIX ISLAND"); -static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD"); -static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH"); -static const u8 sMapName_CapeBrink[] = _("CAPE BRINK"); -static const u8 sMapName_BondBridge[] = _("BOND BRIDGE"); -static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT"); -static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6"); -static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7"); -static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8"); -static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9"); -static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); -static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); -static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); -static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); -static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND"); -static const u8 sMapName_GreenPath[] = _("GREEN PATH"); -static const u8 sMapName_WaterPath[] = _("WATER PATH"); -static const u8 sMapName_RuinValley[] = _("RUIN VALLEY"); -static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER"); -static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); -static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON"); -static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS"); -static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22"); -static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23"); -static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24"); -static const u8 sMapName_NavelRock[] = _("NAVEL ROCK"); -static const u8 sMapName_MtEmber[] = _("MT. EMBER"); -static const u8 sMapName_BerryForest[] = _("BERRY FOREST"); -static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE"); -static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); -static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER"); -static const u8 sMapName_DottedHole[] = _("DOTTED HOLE"); -static const u8 sMapName_LostCave[] = _("LOST CAVE"); -static const u8 sMapName_PatternBush[] = _("PATTERN BUSH"); -static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE"); -static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); -static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH"); -static const u8 sMapName_TanobyKey[] = _("TANOBY KEY"); -static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND"); -static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER"); -static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); -static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); -static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER"); -static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); -static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER"); -static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); -static const u8 sMapName_EmberSpa[] = _("EMBER SPA"); -static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA"); -static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT"); -static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); -static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER"); -static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND"); -static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE"); -static const u8 sMapName_MarineCave[] = _("MARINE CAVE"); -static const u8 sMapName_TerraCave[] = _("TERRA CAVE"); -static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); -static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); - -const struct RegionMapLocation gRegionMapEntries[] = { - [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, - [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, - [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, - [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, - [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, - [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, - [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, - [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, - [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, - [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, - [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, - [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, - [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, - [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, - [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, - [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, - [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, - [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, - [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, - [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, - [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, - [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, - [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, - [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, - [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, - [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, - [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, - [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, - [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, - [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, - [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, - [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, - [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, - [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, - [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, - [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, - [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, - [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, - [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, - [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, - [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, - [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, - [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, - [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, - [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, - [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, - [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, - [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, - [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, - [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, - [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_126] = {20, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_127] = {23, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_128] = {23, 9, 4, 1, sMapName_Underwater}, - [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, - [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, - [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, - [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, - [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, - [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, - [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, - [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, - [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, - [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, - [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, - [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, - [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, - [MAPSEC_UNDERWATER_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_Underwater}, - [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, - [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, - [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, - [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, - [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, - [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, - [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, - [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, - [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, - [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, - [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, - [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, - [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, - [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, - [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, - [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, - [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, - [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, - [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, - [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, - [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, - [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, - [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, - [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, - [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, - [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, - [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, - [MAPSEC_ROUTE_4_POKECENTER] = { 0, 0, 1, 1, sMapName_Route4}, - [MAPSEC_ROUTE_10_POKECENTER] = { 0, 0, 1, 1, sMapName_Route10}, - [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, - [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, - [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, - [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, - [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, - [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, - [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, - [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, - [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, - [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, - [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, - [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, - [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, - [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, - [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, - [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, - [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, - [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, - [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, - [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, - [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, - [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, - [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, - [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, - [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, - [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, - [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, - [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, - [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, - [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, - [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, - [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, - [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, - [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, - [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, - [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, - [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, - [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, - [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, - [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, - [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, - [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, - [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, - [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, - [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, - [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, - [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, - [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, - [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, - [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, - [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, - [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, - [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, - [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, - [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, - [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, - [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, - [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, - [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, - [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, - [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, - [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, - [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, - [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, - [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, - [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, - [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, - [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, - [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, - [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, - [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, - [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, - [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, - [MAPSEC_NAVEL_ROCK_FRLG] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, - [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, - [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, - [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, - [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, - [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, - [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, - [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, - [MAPSEC_ALTERING_CAVE_FRLG] = { 0, 0, 1, 1, sMapName_AlteringCave}, - [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, - [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, - [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, - [MAPSEC_BIRTH_ISLAND_FRLG] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, - [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, - [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, - [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, - [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, - [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, - [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, - [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, - [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, - [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, - [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, - [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, - [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, - [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, - [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, - [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, - [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, - [MAPSEC_UNDERWATER_105] = { 0, 10, 1, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_125] = {24, 3, 2, 2, sMapName_Underwater}, - [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, - [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, - [MAPSEC_ALTERING_CAVE] = { 6, 8, 1, 1, sMapName_AlteringCave}, - [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} -}; - -#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/region_map/region_map_layout.h b/src/data/region_map/region_map_layout.h new file mode 100644 index 0000000000..95a4e94f31 --- /dev/null +++ b/src/data/region_map/region_map_layout.h @@ -0,0 +1,17 @@ +static const u8 sRegionMap_MapSectionLayout[MAP_HEIGHT][MAP_WIDTH] = { + {MAPSEC_NONE, MAPSEC_ROUTE_114, MAPSEC_ROUTE_114, MAPSEC_FALLARBOR_TOWN, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_113, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_FORTREE_CITY, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_NONE, MAPSEC_ROUTE_114, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_MT_CHIMNEY, MAPSEC_MT_CHIMNEY, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_ROUTE_114, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_MT_CHIMNEY, MAPSEC_MT_CHIMNEY, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SAFARI_ZONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_LAVARIDGE_TOWN, MAPSEC_ROUTE_112, MAPSEC_ROUTE_112, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_ROUTE_120, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_ROUTE_121, MAPSEC_LILYCOVE_CITY, MAPSEC_LILYCOVE_CITY, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_125, MAPSEC_ROUTE_125, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_115, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_122, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_125, MAPSEC_ROUTE_125, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_RUSTBORO_CITY, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_ROUTE_116, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_111, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_119, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_122, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_ROUTE_124, MAPSEC_MOSSDEEP_CITY, MAPSEC_MOSSDEEP_CITY, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_RUSTBORO_CITY, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_VERDANTURF_TOWN, MAPSEC_ROUTE_117, MAPSEC_ROUTE_117, MAPSEC_ROUTE_117, MAPSEC_MAUVILLE_CITY, MAPSEC_MAUVILLE_CITY, MAPSEC_ROUTE_118, MAPSEC_ROUTE_118, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_ROUTE_123, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_104, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_SOOTOPOLIS_CITY, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_104, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_103, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_126, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_ROUTE_127, MAPSEC_NONE, MAPSEC_EVER_GRANDE_CITY}, + {MAPSEC_ROUTE_104, MAPSEC_PETALBURG_CITY, MAPSEC_ROUTE_102, MAPSEC_ROUTE_102, MAPSEC_OLDALE_TOWN, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_110, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_ROUTE_128, MAPSEC_EVER_GRANDE_CITY}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_101, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SLATEPORT_CITY, MAPSEC_ROUTE_134, MAPSEC_ROUTE_134, MAPSEC_ROUTE_134, MAPSEC_ROUTE_133, MAPSEC_ROUTE_133, MAPSEC_ROUTE_133, MAPSEC_ROUTE_132, MAPSEC_ROUTE_132, MAPSEC_PACIFIDLOG_TOWN, MAPSEC_ROUTE_131, MAPSEC_ROUTE_131, MAPSEC_ROUTE_131, MAPSEC_ROUTE_130, MAPSEC_ROUTE_130, MAPSEC_ROUTE_130, MAPSEC_ROUTE_129, MAPSEC_ROUTE_129, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_LITTLEROOT_TOWN, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SLATEPORT_CITY, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_105, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_BATTLE_FRONTIER, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_ROUTE_106, MAPSEC_ROUTE_106, MAPSEC_ROUTE_106, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_NONE, MAPSEC_NONE, MAPSEC_DEWFORD_TOWN, MAPSEC_ROUTE_107, MAPSEC_ROUTE_107, MAPSEC_ROUTE_107, MAPSEC_ROUTE_108, MAPSEC_ROUTE_108, MAPSEC_ROUTE_109, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_SOUTHERN_ISLAND, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE}, +}; diff --git a/src/data/region_map/region_map_sections.json b/src/data/region_map/region_map_sections.json new file mode 100644 index 0000000000..8fa0079117 --- /dev/null +++ b/src/data/region_map/region_map_sections.json @@ -0,0 +1,1715 @@ +{ + "map_sections": [ + { + "map_section": "MAPSEC_LITTLEROOT_TOWN", + "name": "LITTLEROOT TOWN", + "x": 4, + "y": 11, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_OLDALE_TOWN", + "name": "OLDALE TOWN", + "x": 4, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DEWFORD_TOWN", + "name": "DEWFORD TOWN", + "x": 2, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LAVARIDGE_TOWN", + "name": "LAVARIDGE TOWN", + "x": 5, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FALLARBOR_TOWN", + "name": "FALLARBOR TOWN", + "x": 3, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VERDANTURF_TOWN", + "name": "VERDANTURF TOWN", + "x": 4, + "y": 6, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PACIFIDLOG_TOWN", + "name": "PACIFIDLOG TOWN", + "x": 17, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PETALBURG_CITY", + "name": "PETALBURG CITY", + "x": 1, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SLATEPORT_CITY", + "name": "SLATEPORT CITY", + "x": 8, + "y": 10, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_MAUVILLE_CITY", + "name": "MAUVILLE CITY", + "x": 8, + "y": 6, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_RUSTBORO_CITY", + "name": "RUSTBORO CITY", + "x": 0, + "y": 5, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_FORTREE_CITY", + "name": "FORTREE CITY", + "x": 12, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LILYCOVE_CITY", + "name": "LILYCOVE CITY", + "x": 18, + "y": 3, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_MOSSDEEP_CITY", + "name": "MOSSDEEP CITY", + "x": 24, + "y": 5, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_SOOTOPOLIS_CITY", + "name": "SOOTOPOLIS CITY", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_EVER_GRANDE_CITY", + "name": "EVER GRANDE CITY", + "x": 27, + "y": 8, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_101", + "name": "ROUTE 101", + "x": 4, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_102", + "name": "ROUTE 102", + "x": 2, + "y": 9, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_103", + "name": "ROUTE 103", + "x": 4, + "y": 8, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_104", + "name": "ROUTE 104", + "x": 0, + "y": 7, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_105", + "name": "ROUTE 105", + "x": 0, + "y": 10, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_106", + "name": "ROUTE 106", + "x": 0, + "y": 13, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_107", + "name": "ROUTE 107", + "x": 3, + "y": 14, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_108", + "name": "ROUTE 108", + "x": 6, + "y": 14, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_109", + "name": "ROUTE 109", + "x": 8, + "y": 12, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_110", + "name": "ROUTE 110", + "x": 8, + "y": 7, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_111", + "name": "ROUTE 111", + "x": 8, + "y": 0, + "width": 1, + "height": 6 + }, + { + "map_section": "MAPSEC_ROUTE_112", + "name": "ROUTE 112", + "x": 6, + "y": 3, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_113", + "name": "ROUTE 113", + "x": 4, + "y": 0, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_114", + "name": "ROUTE 114", + "x": 1, + "y": 0, + "width": 2, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_115", + "name": "ROUTE 115", + "x": 0, + "y": 2, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_116", + "name": "ROUTE 116", + "x": 1, + "y": 5, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_117", + "name": "ROUTE 117", + "x": 5, + "y": 6, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_118", + "name": "ROUTE 118", + "x": 10, + "y": 6, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_119", + "name": "ROUTE 119", + "x": 11, + "y": 0, + "width": 1, + "height": 6 + }, + { + "map_section": "MAPSEC_ROUTE_120", + "name": "ROUTE 120", + "x": 13, + "y": 0, + "width": 1, + "height": 4 + }, + { + "map_section": "MAPSEC_ROUTE_121", + "name": "ROUTE 121", + "x": 14, + "y": 3, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_122", + "name": "ROUTE 122", + "x": 16, + "y": 4, + "width": 1, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_123", + "name": "ROUTE 123", + "x": 12, + "y": 6, + "width": 5, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_124", + "name": "ROUTE 124", + "x": 20, + "y": 3, + "width": 4, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_125", + "name": "ROUTE 125", + "x": 24, + "y": 3, + "width": 2, + "height": 2 + }, + { + "map_section": "MAPSEC_ROUTE_126", + "name": "ROUTE 126", + "x": 20, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_127", + "name": "ROUTE 127", + "x": 23, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_ROUTE_128", + "name": "ROUTE 128", + "x": 23, + "y": 9, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_129", + "name": "ROUTE 129", + "x": 24, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_130", + "name": "ROUTE 130", + "x": 21, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_131", + "name": "ROUTE 131", + "x": 18, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_132", + "name": "ROUTE 132", + "x": 15, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_133", + "name": "ROUTE 133", + "x": 12, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_134", + "name": "ROUTE 134", + "x": 9, + "y": 10, + "width": 3, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_124", + "name": "UNDERWATER", + "x": 20, + "y": 3, + "width": 4, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_126", + "name": "UNDERWATER", + "x": 20, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_127", + "name": "UNDERWATER", + "x": 23, + "y": 6, + "width": 3, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_128", + "name": "UNDERWATER", + "x": 23, + "y": 9, + "width": 4, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SOOTOPOLIS", + "name": "UNDERWATER", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_GRANITE_CAVE", + "name": "GRANITE CAVE", + "x": 1, + "y": 13, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_CHIMNEY", + "name": "MT. CHIMNEY", + "x": 6, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SAFARI_ZONE", + "name": "SAFARI ZONE", + "x": 16, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BATTLE_FRONTIER", + "name": "BATTLE FRONTIER", + "x": 22, + "y": 12, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PETALBURG_WOODS", + "name": "PETALBURG WOODS", + "x": 0, + "y": 8, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RUSTURF_TUNNEL", + "name": "RUSTURF TUNNEL", + "x": 2, + "y": 5, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ABANDONED_SHIP", + "name": "ABANDONED SHIP", + "x": 6, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NEW_MAUVILLE", + "name": "NEW MAUVILLE", + "x": 8, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_METEOR_FALLS", + "name": "METEOR FALLS", + "x": 0, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_METEOR_FALLS2", + "name": "METEOR FALLS", + "x": 1, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_PYRE", + "name": "MT. PYRE", + "x": 16, + "y": 4, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_AQUA_HIDEOUT_OLD", + "name": "{AQUA} HIDEOUT", + "name_clone": true, + "x": 19, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SHOAL_CAVE", + "name": "SHOAL CAVE", + "x": 24, + "y": 4, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEAFLOOR_CAVERN", + "name": "SEAFLOOR CAVERN", + "x": 24, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SEAFLOOR_CAVERN", + "name": "UNDERWATER", + "x": 24, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VICTORY_ROAD", + "name": "VICTORY ROAD", + "x": 27, + "y": 9, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MIRAGE_ISLAND", + "name": "MIRAGE ISLAND", + "x": 17, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CAVE_OF_ORIGIN", + "name": "CAVE OF ORIGIN", + "x": 21, + "y": 7, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SOUTHERN_ISLAND", + "name": "SOUTHERN ISLAND", + "x": 12, + "y": 14, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIERY_PATH", + "name": "FIERY PATH", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIERY_PATH2", + "name": "FIERY PATH", + "x": 7, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_JAGGED_PASS", + "name": "JAGGED PASS", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_JAGGED_PASS2", + "name": "JAGGED PASS", + "x": 7, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEALED_CHAMBER", + "name": "SEALED CHAMBER", + "x": 11, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_SEALED_CHAMBER", + "name": "UNDERWATER", + "x": 11, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SCORCHED_SLAB", + "name": "SCORCHED SLAB", + "x": 13, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ISLAND_CAVE", + "name": "ISLAND CAVE", + "x": 0, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DESERT_RUINS", + "name": "DESERT RUINS", + "x": 8, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ANCIENT_TOMB", + "name": "ANCIENT TOMB", + "x": 13, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_INSIDE_OF_TRUCK", + "name": "INSIDE OF TRUCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SKY_PILLAR", + "name": "SKY PILLAR", + "x": 19, + "y": 10, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SECRET_BASE", + "name": "SECRET BASE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DYNAMIC", + "name": "", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PALLET_TOWN", + "name": "PALLET TOWN", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIRIDIAN_CITY", + "name": "VIRIDIAN CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PEWTER_CITY", + "name": "PEWTER CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CERULEAN_CITY", + "name": "CERULEAN CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LAVENDER_TOWN", + "name": "LAVENDER TOWN", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VERMILION_CITY", + "name": "VERMILION CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CELADON_CITY", + "name": "CELADON CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FUCHSIA_CITY", + "name": "FUCHSIA CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CINNABAR_ISLAND", + "name": "CINNABAR ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_INDIGO_PLATEAU", + "name": "INDIGO PLATEAU", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SAFFRON_CITY", + "name": "SAFFRON CITY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_4_POKECENTER", + "name": "ROUTE 4", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_10_POKECENTER", + "name": "ROUTE 10", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_1", + "name": "ROUTE 1", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_2", + "name": "ROUTE 2", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_3", + "name": "ROUTE 3", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_4", + "name": "ROUTE 4", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_5", + "name": "ROUTE 5", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_6", + "name": "ROUTE 6", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_7", + "name": "ROUTE 7", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_8", + "name": "ROUTE 8", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_9", + "name": "ROUTE 9", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_10", + "name": "ROUTE 10", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_11", + "name": "ROUTE 11", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_12", + "name": "ROUTE 12", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_13", + "name": "ROUTE 13", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_14", + "name": "ROUTE 14", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_15", + "name": "ROUTE 15", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_16", + "name": "ROUTE 16", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_17", + "name": "ROUTE 17", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_18", + "name": "ROUTE 18", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_19", + "name": "ROUTE 19", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_20", + "name": "ROUTE 20", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_21", + "name": "ROUTE 21", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_22", + "name": "ROUTE 22", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_23", + "name": "ROUTE 23", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_24", + "name": "ROUTE 24", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROUTE_25", + "name": "ROUTE 25", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIRIDIAN_FOREST", + "name": "VIRIDIAN FOREST", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_MOON", + "name": "MT. MOON", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_S_S_ANNE", + "name": "S.S. ANNE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERGROUND_PATH", + "name": "UNDERGROUND PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERGROUND_PATH_2", + "name": "UNDERGROUND PATH", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DIGLETTS_CAVE", + "name": "DIGLETT'S CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KANTO_VICTORY_ROAD", + "name": "VICTORY ROAD", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCKET_HIDEOUT", + "name": "ROCKET HIDEOUT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SILPH_CO", + "name": "SILPH CO.", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_MANSION", + "name": "POKéMON MANSION", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KANTO_SAFARI_ZONE", + "name": "SAFARI ZONE", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_LEAGUE", + "name": "POKéMON LEAGUE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCK_TUNNEL", + "name": "ROCK TUNNEL", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEAFOAM_ISLANDS", + "name": "SEAFOAM ISLANDS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POKEMON_TOWER", + "name": "POKéMON TOWER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CERULEAN_CAVE", + "name": "CERULEAN CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_POWER_PLANT", + "name": "POWER PLANT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ONE_ISLAND", + "name": "ONE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TWO_ISLAND", + "name": "TWO ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLAND", + "name": "THREE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FOUR_ISLAND", + "name": "FOUR ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIVE_ISLAND", + "name": "FIVE ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVEN_ISLAND", + "name": "SEVEN ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SIX_ISLAND", + "name": "SIX ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_KINDLE_ROAD", + "name": "KINDLE ROAD", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TREASURE_BEACH", + "name": "TREASURE BEACH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CAPE_BRINK", + "name": "CAPE BRINK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BOND_BRIDGE", + "name": "BOND BRIDGE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLE_PORT", + "name": "THREE ISLE PORT", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_6", + "name": "SEVII ISLE 6", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_7", + "name": "SEVII ISLE 7", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_8", + "name": "SEVII ISLE 8", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_9", + "name": "SEVII ISLE 9", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RESORT_GORGEOUS", + "name": "RESORT GORGEOUS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WATER_LABYRINTH", + "name": "WATER LABYRINTH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FIVE_ISLE_MEADOW", + "name": "FIVE ISLE MEADOW", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MEMORIAL_PILLAR", + "name": "MEMORIAL PILLAR", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_OUTCAST_ISLAND", + "name": "OUTCAST ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_GREEN_PATH", + "name": "GREEN PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WATER_PATH", + "name": "WATER PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RUIN_VALLEY", + "name": "RUIN VALLEY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_TOWER", + "name": "TRAINER TOWER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_CANYON_ENTRANCE", + "name": "CANYON ENTRANCE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVAULT_CANYON", + "name": "SEVAULT CANYON", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_RUINS", + "name": "TANOBY RUINS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_22", + "name": "SEVII ISLE 22", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_23", + "name": "SEVII ISLE 23", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SEVII_ISLE_24", + "name": "SEVII ISLE 24", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NAVEL_ROCK_FRLG", + "name": "NAVEL ROCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MT_EMBER", + "name": "MT. EMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BERRY_FOREST", + "name": "BERRY FOREST", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ICEFALL_CAVE", + "name": "ICEFALL CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ROCKET_WAREHOUSE", + "name": "ROCKET WAREHOUSE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_TOWER_2", + "name": "TRAINER TOWER", + "name_clone": true, + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DOTTED_HOLE", + "name": "DOTTED HOLE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LOST_CAVE", + "name": "LOST CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_PATTERN_BUSH", + "name": "PATTERN BUSH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ALTERING_CAVE_FRLG", + "name": "ALTERING CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_CHAMBERS", + "name": "TANOBY CHAMBERS", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_THREE_ISLE_PATH", + "name": "THREE ISLE PATH", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TANOBY_KEY", + "name": "TANOBY KEY", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BIRTH_ISLAND_FRLG", + "name": "BIRTH ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MONEAN_CHAMBER", + "name": "MONEAN CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_LIPTOO_CHAMBER", + "name": "LIPTOO CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_WEEPTH_CHAMBER", + "name": "WEEPTH CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_DILFORD_CHAMBER", + "name": "DILFORD CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SCUFIB_CHAMBER", + "name": "SCUFIB CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_RIXY_CHAMBER", + "name": "RIXY CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_VIAPOIS_CHAMBER", + "name": "VIAPOIS CHAMBER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_EMBER_SPA", + "name": "EMBER SPA", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_SPECIAL_AREA", + "name": "SPECIAL AREA", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_AQUA_HIDEOUT", + "name": "AQUA HIDEOUT", + "x": 19, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MAGMA_HIDEOUT", + "name": "MAGMA HIDEOUT", + "x": 6, + "y": 3, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MIRAGE_TOWER", + "name": "MIRAGE TOWER", + "x": 8, + "y": 2, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_BIRTH_ISLAND", + "name": "BIRTH ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_FARAWAY_ISLAND", + "name": "FARAWAY ISLAND", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ARTISAN_CAVE", + "name": "ARTISAN CAVE", + "x": 22, + "y": 12, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_MARINE_CAVE", + "name": "MARINE CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_MARINE_CAVE", + "name": "UNDERWATER", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TERRA_CAVE", + "name": "TERRA CAVE", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_UNDERWATER_105", + "name": "UNDERWATER", + "x": 0, + "y": 10, + "width": 1, + "height": 3 + }, + { + "map_section": "MAPSEC_UNDERWATER_125", + "name": "UNDERWATER", + "x": 24, + "y": 3, + "width": 2, + "height": 2 + }, + { + "map_section": "MAPSEC_UNDERWATER_129", + "name": "UNDERWATER", + "x": 24, + "y": 10, + "width": 2, + "height": 1 + }, + { + "map_section": "MAPSEC_DESERT_UNDERPASS", + "name": "DESERT UNDERPASS", + "x": 2, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_ALTERING_CAVE", + "name": "ALTERING CAVE", + "x": 6, + "y": 8, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_NAVEL_ROCK", + "name": "NAVEL ROCK", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + { + "map_section": "MAPSEC_TRAINER_HILL", + "name": "TRAINER HILL", + "x": 8, + "y": 4, + "width": 1, + "height": 1 + } + ] +} diff --git a/src/data/region_map/region_map_sections.json.txt b/src/data/region_map/region_map_sections.json.txt new file mode 100644 index 0000000000..e9c372cb54 --- /dev/null +++ b/src/data/region_map/region_map_sections.json.txt @@ -0,0 +1,24 @@ +{{ doNotModifyHeader }} +#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H +#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H + +## for map_section in map_sections +{% if isEmptyString(getVar(map_section.name)) and not existsIn(map_section, "name_clone") %}{{ setVar(map_section.name, map_section.map_section) }}{% endif %} +## endfor + +## for map_section in map_sections +{% if getVar(map_section.name) == map_section.map_section %} +static const u8 sMapName_{{ cleanString(map_section.name) }}[] = _("{{ map_section.name }}"); +{% endif %} +{% if existsIn(map_section, "name_clone") %} +static const u8 sMapName_{{ cleanString(map_section.name) }}_Clone[] = _("{{ map_section.name }}"); +{% endif %} +## endfor + +const struct RegionMapLocation gRegionMapEntries[] = { +## for map_section in map_sections + [{{ map_section.map_section }}] = { {{ map_section.x }}, {{ map_section.y }}, {{ map_section.width }}, {{ map_section.height }}, sMapName_{{ cleanString(map_section.name) }}{% if existsIn(map_section, "name_clone") %}_Clone{% endif %} }, +## endfor +}; + +#endif // GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index a4a1941adc..7000759f75 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2962,8 +2962,8 @@ static const u8 sPsyshieldBashDescription[] = _( "energy. May raise Defense."); static const u8 sPowerShiftDescription[] = _( - "The user swaps its offensive\n" - "and defensive stats."); + "The user swaps its Attack\n" + "and Defense stats."); static const u8 sStoneAxeDescription[] = _( "High critical hit ratio. Sets\n" @@ -2974,52 +2974,52 @@ static const u8 sSpringtideStormDescription[] = _( "Varies with the user's form."); static const u8 sMysticalPowerDescription[] = _( - "Increases the user's better\n" - "of Atk. and Def. stats."); + "A mysterious power strikes,\n" + "raising the user's Sp. Atk."); static const u8 sRagingFuryDescription[] = _( - "Viciously spews flames at\n" - "a foe, becoming fixated."); + "A rampage of 2 to 3 turns\n" + "that confuses the user."); static const u8 sWaveCrashDescription[] = _( - "A water slam. Hurts the user\n" - "and raises its Action Speed."); + "A slam shrouded in water.\n" + "It also hurts the user."); static const u8 sChloroblastDescription[] = _( - "An blast that hurts the user\n" - "and lowers its Action Speed."); + "A user-hurting blast of\n" + "amassed chlorophyll."); static const u8 sMountainGaleDescription[] = _( - "The user hurls giant chunks\n" - "of ice to damage the foe."); + "Giant chunks of ice damage\n" + "the foe. It may flinch."); static const u8 sVictoryDanceDescription[] = _( - "Dances to raise damage 50%,\n" - "plus offenses and defenses."); + "Dances to raise Attack,\n" + "Defense and Speed."); static const u8 sHeadlongRushDescription[] = _( - "Hits with a full-body tackle,\n" - "lowering the foe's Defense."); + "Hits with a full-body tackle.\n" + "Lowers the users's defenses."); static const u8 sBarbBarrageDescription[] = _( "Can poison on impact. Powers\n" - "up if the foe has an ailment."); + "up against poisoned foes."); static const u8 sEsperWingDescription[] = _( "High critical hit ratio.\n" - "Ups the user's Action Speed."); + "Ups the user's Speed."); static const u8 sBitterMaliceDescription[] = _( - "Hurts a foe harder if it has\n" - "an ailment. Can give FrstBte."); + "A spine-chilling resentment.\n" + "May lower the foe's Attack."); static const u8 sShelterDescription[] = _( - "The user hardens their skin\n" - "and obscures itself."); + "The user hardens their skin,\n" + "sharply raising its Defense."); static const u8 sTripleArrowsDescription[] = _( - "Ups critical-hit ratio for 3\n" - "turns. Lowers foe Defenses."); + "High critical hit ratio.\n" + "May lower Defense or flinch."); static const u8 sInfernalParadeDescription[] = _( "Hurts a foe harder if it has\n" @@ -3031,7 +3031,7 @@ static const u8 sCeaselessEdgeDescription[] = _( static const u8 sBleakwindStormDescription[] = _( "Hits with brutal, cold winds.\n" - "May inflict frostbite."); + "May lower the foe's Speed."); static const u8 sWildboltStormDescription[] = _( "Hits with a brutal tempest.\n" @@ -3042,13 +3042,200 @@ static const u8 sSandsearStormDescription[] = _( "May inflict a burn."); static const u8 sLunarBlessingDescription[] = _( - "The user heals themself and\n" - "conceals their presence."); + "The user heals and cures\n" + "itself and its ally."); static const u8 sTakeHeartDescription[] = _( "The user lifts its spirits to\n" "heal and strengthen itself."); +static const u8 sTeraBlastDescription[] = _( + "If the user's Terastallized,\n" + "it hits with its Tera-type."); + +static const u8 sSilkTrapDescription[] =_( + "Protects itself, lowering\n" + "Speed on contact."); + +static const u8 sAxeKickDescription[] = _( + "May miss and hurt the kicker.\n" + "May cause confusion."); + +static const u8 sLastRespectsDescription[] = _( + "This move deals more damage\n" + "for each defeated ally."); + +static const u8 sLuminaCrashDescription[] = _( + "A mind-affecting light\n" + "harshly lowers Sp. Def."); + +static const u8 sOrderUpDescription[] = _( + "Boosts a user's stats\n" + "depending on Tatsugiri."); + +static const u8 sJetPunchDescription[] = _( + "A punch is thrown at blinding\n" + "speed to strike first."); + +static const u8 sSpicyExtractDescription[] = _( + "Sharply ups target's Attack,\n" + "harshly lowers its Defense."); + +static const u8 sSpinOutDescription[] = _( + "Furiously strains its legs.\n" + "Harshly lowers user's Speed."); + +static const u8 sPopulationBombDescription[] = _( + "The user's fellows hit one\n" + "to ten times in a row."); + +static const u8 sIceSpinnerDescription[] = _( + "Ice-covered feet hit a foe\n" + "and destroy the terrain."); + +static const u8 sGlaiveRushDescription[] = _( + "Foe attacks next turn can't\n" + "miss and do double damage."); + +static const u8 sRevivalBlessingDescription[] = _( + "Revives a fainted party {PKMN}\n" + "and restores half of its HP."); + +static const u8 sSaltCureDescription[] = _( + "Hurts foe every turn. Double\n" + "damage to Steel and Water."); + +static const u8 sTripleDiveDescription[] = _( + "Hits target with splashes\n" + "of water 3 times in a row."); + +static const u8 sMortalSpinDescription[] = _( + "Erases trap moves and Leech\n" + "Seed. Poisons adjecent foes."); + +static const u8 sDoodleDescription[] = _( + "Changes user's and ally's\n" + "Ability into the target's."); + +static const u8 sFilletAwayDescription[] = _( + "Sharply boosts offenses and\n" + "Speed by using its own HP."); + +static const u8 sKowtowCleaveDescription[] = _( + "User slashes the foe after\n" + "kowtowing. It never misses."); + +static const u8 sFlowerTrickDescription[] = _( + "Rigged bouquet. Always gets\n" + "a critical hit, never missing."); + +static const u8 sTorchSongDescription[] = _( + "Flames scorch the target.\n" + "Boosts the user's Sp. Atk."); + +static const u8 sAquaStepDescription[] = _( + "Hits with light, fluid dance\n" + "steps. Ups the user's Speed."); + +static const u8 sRagingBullDescription[] = _( + "Tackle that breaks barriers.\n" + "User's form determines type."); + +static const u8 sMakeItRainDescription[] = _( + "Lowers the user's Sp. Atk.\n" + "Money is recovered after."); + +static const u8 sRuinationDescription[] = _( + "Summons a ruinous disaster\n" + "and cuts half the foe's HP."); + +static const u8 sCollisionCourseDescription[] = _( + "Prehistoric explosion that's\n" + "stronger if supereffective."); + +static const u8 sElectroDriftDescription[] = _( + "Futuristic electricity. It's\n" + "stronger if supereffective."); + +static const u8 sShedTailDescription[] = _( + "Creates a Substitute for\n" + "itself before switching out."); + +static const u8 sChillyReceptionDescription[] =_( + "Bad joke summons snowstorm.\n" + "The user also switches out."); + +static const u8 sTidyUpDescription[] = _( + "User tidies up hazards and\n" + "raises its Attack and Speed."); + +static const u8 sSnowscapeDescription[] = _( + "Summons a snowstorm that\n" + "lasts for five turns."); + +static const u8 sPounceDescription[] = _( + "The user pounces on the foe,\n" + "lowering its Speed."); + +static const u8 sTrailblazeDescription[] = _( + "The user attacks suddenly,\n" + "raising its Speed."); + +static const u8 sChillingWaterDescription[] = _( + "A shower with ice-cold water\n" + "lowers the target's Attack."); + +static const u8 sHyperDrillDescription[] = _( + "A spinning pointed part\n" + "bypasses a foe's Protect."); + +static const u8 sTwinBeamDescription[] = _( + "Mystical eye-beams that hit\n" + "the target twice in a row."); + +static const u8 sRageFistDescription[] = _( + "The more the user has been\n" + "hit, the stronger the move."); + +static const u8 sArmorCannonDescription[] = _( + "A strong attack but lowers\n" + "the defensive stats."); + +static const u8 sBitterBladeDescription[] = _( + "An attack that absorbs\n" + "half the damage inflicted."); + +static const u8 sDoubleShockDescription[] = _( + "Discharges all electricity,\n" + "losing the Electric type."); + +static const u8 sGigatonHammerDescription[] = _( + "Swings a huge hammer. Can't\n" + "be used twice in a row."); + +static const u8 sComeuppanceDescription[] = _( + "Retaliates strongly against\n" + "who last hurt the user."); + +static const u8 sAquaCutterDescription[] = _( + "Pressurized water cut with a\n" + "high critical-hit ratio."); + +static const u8 sBlazingTorqueDescription[] = _( + "---"); + +static const u8 sWickedTorqueDescription[] = _( + "---"); + +static const u8 sNoxiousTorqueDescription[] = _( + "---"); + +static const u8 sCombatTorqueDescription[] = _( + "---"); + +static const u8 sMagicalTorqueDescription[] = _( + "---"); + const u8 gNotDoneYetDescription[] = _( "This move can't be used. Its\n" "effect is in development."); @@ -3838,4 +4025,52 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = [MOVE_SANDSEAR_STORM - 1] = sSandsearStormDescription, [MOVE_LUNAR_BLESSING - 1] = sLunarBlessingDescription, [MOVE_TAKE_HEART - 1] = sTakeHeartDescription, + [MOVE_TERA_BLAST - 1] = sTeraBlastDescription, + [MOVE_SILK_TRAP - 1] = sSilkTrapDescription, + [MOVE_AXE_KICK - 1] = sAxeKickDescription, + [MOVE_LAST_RESPECTS - 1] = sLastRespectsDescription, + [MOVE_LUMINA_CRASH - 1] = sLuminaCrashDescription, + [MOVE_ORDER_UP - 1] = sOrderUpDescription, + [MOVE_JET_PUNCH - 1] = sJetPunchDescription, + [MOVE_SPICY_EXTRACT - 1] = sSpicyExtractDescription, + [MOVE_SPIN_OUT - 1] = sSpinOutDescription, + [MOVE_POPULATION_BOMB - 1] = sPopulationBombDescription, + [MOVE_ICE_SPINNER - 1] = sIceSpinnerDescription, + [MOVE_GLAIVE_RUSH - 1] = sGlaiveRushDescription, + [MOVE_REVIVAL_BLESSING - 1] = sRevivalBlessingDescription, + [MOVE_SALT_CURE - 1] = sSaltCureDescription, + [MOVE_TRIPLE_DIVE - 1] = sTripleDiveDescription, + [MOVE_MORTAL_SPIN - 1] = sMortalSpinDescription, + [MOVE_DOODLE - 1] = sDoodleDescription, + [MOVE_FILLET_AWAY - 1] = sFilletAwayDescription, + [MOVE_KOWTOW_CLEAVE - 1] = sKowtowCleaveDescription, + [MOVE_FLOWER_TRICK - 1] = sFlowerTrickDescription, + [MOVE_TORCH_SONG - 1] = sTorchSongDescription, + [MOVE_AQUA_STEP - 1] = sAquaStepDescription, + [MOVE_RAGING_BULL - 1] = sRagingBullDescription, + [MOVE_MAKE_IT_RAIN - 1] = sMakeItRainDescription, + [MOVE_RUINATION - 1] = sRuinationDescription, + [MOVE_COLLISION_COURSE - 1] = sCollisionCourseDescription, + [MOVE_ELECTRO_DRIFT - 1] = sElectroDriftDescription, + [MOVE_SHED_TAIL - 1] = sShedTailDescription, + [MOVE_CHILLY_RECEPTION - 1] = sChillyReceptionDescription, + [MOVE_TIDY_UP - 1] = sTidyUpDescription, + [MOVE_SNOWSCAPE - 1] = sSnowscapeDescription, + [MOVE_POUNCE - 1] = sPounceDescription, + [MOVE_TRAILBLAZE - 1] = sTrailblazeDescription, + [MOVE_CHILLING_WATER - 1] = sChillingWaterDescription, + [MOVE_HYPER_DRILL - 1] = sHyperDrillDescription, + [MOVE_TWIN_BEAM - 1] = sTwinBeamDescription, + [MOVE_RAGE_FIST - 1] = sRageFistDescription, + [MOVE_ARMOR_CANNON - 1] = sArmorCannonDescription, + [MOVE_BITTER_BLADE - 1] = sBitterBladeDescription, + [MOVE_DOUBLE_SHOCK - 1] = sDoubleShockDescription, + [MOVE_GIGATON_HAMMER - 1] = sGigatonHammerDescription, + [MOVE_COMEUPPANCE - 1] = sComeuppanceDescription, + [MOVE_AQUA_CUTTER - 1] = sAquaCutterDescription, + [MOVE_BLAZING_TORQUE - 1] = sBlazingTorqueDescription, + [MOVE_WICKED_TORQUE - 1] = sWickedTorqueDescription, + [MOVE_NOXIOUS_TORQUE - 1] = sNoxiousTorqueDescription, + [MOVE_COMBAT_TORQUE - 1] = sCombatTorqueDescription, + [MOVE_MAGICAL_TORQUE - 1] = sMagicalTorqueDescription, }; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 5f0a741cb4..221d3db73d 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -781,6 +781,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_SANDSEAR_STORM] = _("Sandsear Storm"), [MOVE_LUNAR_BLESSING] = _("Lunar Blessing"), [MOVE_TAKE_HEART] = _("Take Heart"), + [MOVE_TERA_BLAST] = _("Tera Blast"), + [MOVE_SILK_TRAP] = _("Silk Trap"), + [MOVE_AXE_KICK] = _("Axe Kick"), + [MOVE_LAST_RESPECTS] = _("Last Respects"), + [MOVE_LUMINA_CRASH] = _("Lumina Crash"), + [MOVE_ORDER_UP] = _("Order Up"), + [MOVE_JET_PUNCH] = _("Jet Punch"), + [MOVE_SPICY_EXTRACT] = _("Spicy Extract"), + [MOVE_SPIN_OUT] = _("Spin Out"), + [MOVE_POPULATION_BOMB] = _("Population Bomb"), + [MOVE_ICE_SPINNER] = _("Ice Spinner"), + [MOVE_GLAIVE_RUSH] = _("Glaive Rush"), + [MOVE_REVIVAL_BLESSING] = _("Revival Blessing"), + [MOVE_SALT_CURE] = _("Salt Cure"), + [MOVE_TRIPLE_DIVE] = _("Triple Dive"), + [MOVE_MORTAL_SPIN] = _("Mortal Spin"), + [MOVE_DOODLE] = _("Doodle"), + [MOVE_FILLET_AWAY] = _("Fillet Away"), + [MOVE_KOWTOW_CLEAVE] = _("Kowtow Cleave"), + [MOVE_FLOWER_TRICK] = _("Flower Trick"), + [MOVE_TORCH_SONG] = _("Torch Song"), + [MOVE_AQUA_STEP] = _("Aqua Step"), + [MOVE_RAGING_BULL] = _("Raging Bull"), + [MOVE_MAKE_IT_RAIN] = _("Make It Rain"), + [MOVE_RUINATION] = _("Ruination"), + [MOVE_COLLISION_COURSE] = _("Collision Course"), + [MOVE_ELECTRO_DRIFT] = _("Electro Drift"), + [MOVE_SHED_TAIL] = _("Shed Tail"), + [MOVE_CHILLY_RECEPTION] = _("Chilly Reception"), + [MOVE_TIDY_UP] = _("Tidy Up"), + [MOVE_SNOWSCAPE] = _("Snowscape"), + [MOVE_POUNCE] = _("Pounce"), + [MOVE_TRAILBLAZE] = _("Trailblaze"), + [MOVE_CHILLING_WATER] = _("Chilling Water"), + [MOVE_HYPER_DRILL] = _("Hyper Drill"), + [MOVE_TWIN_BEAM] = _("Twin Beam"), + [MOVE_RAGE_FIST] = _("Rage Fist"), + [MOVE_ARMOR_CANNON] = _("Armor Cannon"), + [MOVE_BITTER_BLADE] = _("Bitter Blade"), + [MOVE_DOUBLE_SHOCK] = _("Double Shock"), + [MOVE_GIGATON_HAMMER] = _("Gigaton Hammer"), + [MOVE_COMEUPPANCE] = _("Comeuppance"), + [MOVE_AQUA_CUTTER] = _("Aqua Cutter"), + [MOVE_BLAZING_TORQUE] = _("Blazing Torque"), + [MOVE_WICKED_TORQUE] = _("Wicked Torque"), + [MOVE_NOXIOUS_TORQUE] = _("Noxious Torque"), + [MOVE_COMBAT_TORQUE] = _("Combat Torque"), + [MOVE_MAGICAL_TORQUE] = _("Magical Torque"), }; #else // 12 letters @@ -1565,6 +1613,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_SANDSEAR_STORM] = _("SndsearStorm"), [MOVE_LUNAR_BLESSING] = _("LunarBlessng"), [MOVE_TAKE_HEART] = _("Take Heart"), + [MOVE_TERA_BLAST] = _("Tera Blast"), + [MOVE_SILK_TRAP] = _("Silk Trap"), + [MOVE_AXE_KICK] = _("Axe Kick"), + [MOVE_LAST_RESPECTS] = _("LastRespects"), + [MOVE_LUMINA_CRASH] = _("Lumina Crash"), + [MOVE_ORDER_UP] = _("Order Up"), + [MOVE_JET_PUNCH] = _("Jet Punch"), + [MOVE_SPICY_EXTRACT] = _("SpicyExtract"), + [MOVE_SPIN_OUT] = _("Spin Out"), + [MOVE_POPULATION_BOMB] = _("PoplatinBomb"), + [MOVE_ICE_SPINNER] = _("Ice Spinner"), + [MOVE_GLAIVE_RUSH] = _("Glaive Rush"), + [MOVE_REVIVAL_BLESSING] = _("RevivlBlesng"), + [MOVE_SALT_CURE] = _("Salt Cure"), + [MOVE_TRIPLE_DIVE] = _("Triple Dive"), + [MOVE_MORTAL_SPIN] = _("Mortal Spin"), + [MOVE_DOODLE] = _("Doodle"), + [MOVE_FILLET_AWAY] = _("Fillet Away"), + [MOVE_KOWTOW_CLEAVE] = _("KowtowCleave"), + [MOVE_FLOWER_TRICK] = _("Flower Trick"), + [MOVE_TORCH_SONG] = _("Torch Song"), + [MOVE_AQUA_STEP] = _("Aqua Step"), + [MOVE_RAGING_BULL] = _("Raging Bull"), + [MOVE_MAKE_IT_RAIN] = _("Make It Rain"), + [MOVE_RUINATION] = _("Ruination"), + [MOVE_COLLISION_COURSE] = _("ColisinCours"), + [MOVE_ELECTRO_DRIFT] = _("ElectroDrift"), + [MOVE_SHED_TAIL] = _("Shed Tail"), + [MOVE_CHILLY_RECEPTION] = _("ChilReceptin"), + [MOVE_TIDY_UP] = _("Tidy Up"), + [MOVE_SNOWSCAPE] = _("Snowscape"), + [MOVE_POUNCE] = _("Pounce"), + [MOVE_TRAILBLAZE] = _("Trailblaze"), + [MOVE_CHILLING_WATER] = _("ChillingWatr"), + [MOVE_HYPER_DRILL] = _("Hyper Drill"), + [MOVE_TWIN_BEAM] = _("Twin Beam"), + [MOVE_RAGE_FIST] = _("Rage Fist"), + [MOVE_ARMOR_CANNON] = _("Armor Cannon"), + [MOVE_BITTER_BLADE] = _("Bitter Blade"), + [MOVE_DOUBLE_SHOCK] = _("Double Shock"), + [MOVE_GIGATON_HAMMER] = _("GigatonHammr"), + [MOVE_COMEUPPANCE] = _("Comeuppance"), + [MOVE_AQUA_CUTTER] = _("Aqua Cutter"), + [MOVE_BLAZING_TORQUE] = _("BlazngTorque"), + [MOVE_WICKED_TORQUE] = _("WickedTorque"), + [MOVE_NOXIOUS_TORQUE] = _("NoxiusTorque"), + [MOVE_COMBAT_TORQUE] = _("CombatTorque"), + [MOVE_MAGICAL_TORQUE] = _("MagiclTorque"), }; #endif diff --git a/src/data/tilesets/graphics.h b/src/data/tilesets/graphics.h new file mode 100644 index 0000000000..2fdc28d213 --- /dev/null +++ b/src/data/tilesets/graphics.h @@ -0,0 +1,1636 @@ +const u32 gTilesetTiles_Petalburg[] = INCBIN_U32("data/tilesets/secondary/petalburg/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Petalburg[][16] = +{ + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Rustboro[] = INCBIN_U32("data/tilesets/secondary/rustboro/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Rustboro[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Dewford[] = INCBIN_U32("data/tilesets/secondary/dewford/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Dewford[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dewford/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Slateport[] = INCBIN_U32("data/tilesets/secondary/slateport/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Slateport[][16] = +{ + INCBIN_U16("data/tilesets/secondary/slateport/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Mauville[] = INCBIN_U32("data/tilesets/secondary/mauville/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Mauville[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lavaridge[] = INCBIN_U32("data/tilesets/secondary/lavaridge/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lavaridge[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Fallarbor[] = INCBIN_U32("data/tilesets/secondary/fallarbor/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Fallarbor[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Fortree[] = INCBIN_U32("data/tilesets/secondary/fortree/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Fortree[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fortree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lilycove[] = INCBIN_U32("data/tilesets/secondary/lilycove/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lilycove[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Mossdeep[] = INCBIN_U32("data/tilesets/secondary/mossdeep/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Mossdeep[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_EverGrande[] = INCBIN_U32("data/tilesets/secondary/ever_grande/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_EverGrande[][16] = +{ + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Pacifidlog[] = INCBIN_U32("data/tilesets/secondary/pacifidlog/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Pacifidlog[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Sootopolis[] = INCBIN_U32("data/tilesets/secondary/sootopolis/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Sootopolis[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierOutsideWest[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierOutsideWest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierOutsideEast[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierOutsideEast[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_InsideBuilding[] = INCBIN_U32("data/tilesets/primary/building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideBuilding[][16] = +{ + INCBIN_U16("data/tilesets/primary/building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Shop[] = INCBIN_U32("data/tilesets/secondary/shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Shop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonCenter[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Cave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonSchool[] = INCBIN_U32("data/tilesets/secondary/pokemon_school/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonSchool[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonFanClub[] = INCBIN_U32("data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonFanClub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Unused1[] = INCBIN_U32("data/tilesets/secondary/unused_1/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Unused1[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MeteorFalls[] = INCBIN_U32("data/tilesets/secondary/meteor_falls/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MeteorFalls[][16] = +{ + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_OceanicMuseum[] = INCBIN_U32("data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_OceanicMuseum[][16] = +{ + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/tiles.4bpp"); +const u32 gTilesetTiles_UnknownCableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/unknown_tiles.4bpp"); + +const u16 gTilesetPalettes_CableClub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SeashoreHouse[] = INCBIN_U32("data/tilesets/secondary/seashore_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SeashoreHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PrettyPetalFlowerShop[] = INCBIN_U32("data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PrettyPetalFlowerShop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PokemonDayCare[] = INCBIN_U32("data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PokemonDayCare[][16] = +{ + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Facility[] = INCBIN_U32("data/tilesets/secondary/facility/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Facility[][16] = +{ + INCBIN_U16("data/tilesets/secondary/facility/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BikeShop[][16] = +{ + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RusturfTunnel[] = INCBIN_U32("data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RusturfTunnel[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBrownCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseBrownCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseTreeCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseTree[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseShrubCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseShrub[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBlueCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseBlueCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseYellowCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseYellowCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseRedCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SecretBaseRedCave[][16] = +{ + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBaseBrownCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseTree[] = INCBIN_U32("data/tilesets/secondary/secret_base/tree/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseShrub[] = INCBIN_U32("data/tilesets/secondary/secret_base/shrub/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseBlueCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseYellowCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp"); +const u32 gTilesetTiles_SecretBaseRedCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/red_cave/tiles.4bpp"); + +const u32 gTilesetTiles_InsideOfTruck[] = INCBIN_U32("data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideOfTruck[][16] = +{ + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Contest[] = INCBIN_U32("data/tilesets/secondary/contest/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Contest[][16] = +{ + INCBIN_U16("data/tilesets/secondary/contest/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_LilycoveMuseum[] = INCBIN_U32("data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_LilycoveMuseum[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BrendansMaysHouse[] = INCBIN_U32("data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BrendansMaysHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Lab[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lab/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Underwater[] = INCBIN_U32("data/tilesets/secondary/underwater/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Underwater[][16] = +{ + INCBIN_U16("data/tilesets/secondary/underwater/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_GenericBuilding[] = INCBIN_U32("data/tilesets/secondary/generic_building/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_GenericBuilding[][16] = +{ + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MauvilleGameCorner[] = INCBIN_U32("data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MauvilleGameCorner[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_Unused2[] = INCBIN_U32("data/tilesets/secondary/unused_2/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_Unused2[][16] = +{ + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_RustboroGym[] = INCBIN_U32("data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_RustboroGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_DewfordGym[] = INCBIN_U32("data/tilesets/secondary/dewford_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_DewfordGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MauvilleGym[] = INCBIN_U32("data/tilesets/secondary/mauville_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MauvilleGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_LavaridgeGym[] = INCBIN_U32("data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_LavaridgeGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_PetalburgGym[] = INCBIN_U32("data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_PetalburgGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_FortreeGym[] = INCBIN_U32("data/tilesets/secondary/fortree_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_FortreeGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MossdeepGym[] = INCBIN_U32("data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MossdeepGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SootopolisGym[] = INCBIN_U32("data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_SootopolisGym[][16] = +{ + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TrickHousePuzzle[] = INCBIN_U32("data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TrickHousePuzzle[][16] = +{ + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_InsideShip[] = INCBIN_U32("data/tilesets/secondary/inside_ship/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_InsideShip[][16] = +{ + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_SecretBase[] = INCBIN_U32("data/tilesets/primary/secret_base/tiles.4bpp"); +const u32 gTilesetTiles_UnknownSecretBase[] = INCBIN_U32("data/tilesets/primary/secret_base/unknown_tiles.4bpp"); + +const u16 gTilesetPalettes_SecretBase[][16] = +{ + INCBIN_U16("data/tilesets/primary/secret_base/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_EliteFour[] = INCBIN_U32("data/tilesets/secondary/elite_four/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_EliteFour[][16] = +{ + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontier[] = INCBIN_U32("data/tilesets/secondary/battle_frontier/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontier[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePalace[] = INCBIN_U32("data/tilesets/secondary/battle_palace/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePalace[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleDome[] = INCBIN_U32("data/tilesets/secondary/battle_dome/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleDome[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFactory[] = INCBIN_U32("data/tilesets/secondary/battle_factory/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFactory[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePike[] = INCBIN_U32("data/tilesets/secondary/battle_pike/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePike[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleArena[] = INCBIN_U32("data/tilesets/secondary/battle_arena/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleArena[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattlePyramid[] = INCBIN_U32("data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattlePyramid[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MirageTower[] = INCBIN_U32("data/tilesets/secondary/mirage_tower/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MirageTower[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MossdeepGameCorner[] = INCBIN_U32("data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MossdeepGameCorner[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_IslandHarbor[][16] = +{ + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_TrainerHill[] = INCBIN_U32("data/tilesets/secondary/trainer_hill/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_TrainerHill[][16] = +{ + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_NavelRock[][16] = +{ + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleFrontierRankingHall[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleFrontierRankingHall[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_BattleTent[] = INCBIN_U32("data/tilesets/secondary/battle_tent/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_BattleTent[][16] = +{ + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_MysteryEventsHouse[] = INCBIN_U32("data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz"); + +const u16 gTilesetPalettes_MysteryEventsHouse[][16] = +{ + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/15.gbapal"), +}; + +const u16 gTilesetPalettes_UnionRoom[][16] = +{ + INCBIN_U16("data/tilesets/secondary/union_room/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/15.gbapal"), +}; + +const u32 gTilesetTiles_UnionRoom[] = INCBIN_U32("data/tilesets/secondary/union_room/tiles.4bpp.lz"); diff --git a/src/data/tilesets/headers.h b/src/data/tilesets/headers.h new file mode 100644 index 0000000000..2eae1be1ea --- /dev/null +++ b/src/data/tilesets/headers.h @@ -0,0 +1,827 @@ +const struct Tileset gTileset_General = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_General, + .palettes = gTilesetPalettes_General, + .metatiles = gMetatiles_General, + .metatileAttributes = gMetatileAttributes_General, + .callback = InitTilesetAnim_General, +}; + +const struct Tileset gTileset_Petalburg = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Petalburg, + .palettes = gTilesetPalettes_Petalburg, + .metatiles = gMetatiles_Petalburg, + .metatileAttributes = gMetatileAttributes_Petalburg, + .callback = InitTilesetAnim_Petalburg, +}; + +const struct Tileset gTileset_Rustboro = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Rustboro, + .palettes = gTilesetPalettes_Rustboro, + .metatiles = gMetatiles_Rustboro, + .metatileAttributes = gMetatileAttributes_Rustboro, + .callback = InitTilesetAnim_Rustboro, +}; + +const struct Tileset gTileset_Dewford = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Dewford, + .palettes = gTilesetPalettes_Dewford, + .metatiles = gMetatiles_Dewford, + .metatileAttributes = gMetatileAttributes_Dewford, + .callback = InitTilesetAnim_Dewford, +}; + +const struct Tileset gTileset_Slateport = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Slateport, + .palettes = gTilesetPalettes_Slateport, + .metatiles = gMetatiles_Slateport, + .metatileAttributes = gMetatileAttributes_Slateport, + .callback = InitTilesetAnim_Slateport, +}; + +const struct Tileset gTileset_Mauville = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Mauville, + .palettes = gTilesetPalettes_Mauville, + .metatiles = gMetatiles_Mauville, + .metatileAttributes = gMetatileAttributes_Mauville, + .callback = InitTilesetAnim_Mauville, +}; + +const struct Tileset gTileset_Lavaridge = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lavaridge, + .palettes = gTilesetPalettes_Lavaridge, + .metatiles = gMetatiles_Lavaridge, + .metatileAttributes = gMetatileAttributes_Lavaridge, + .callback = InitTilesetAnim_Lavaridge, +}; + +const struct Tileset gTileset_Fallarbor = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Fallarbor, + .palettes = gTilesetPalettes_Fallarbor, + .metatiles = gMetatiles_Fallarbor, + .metatileAttributes = gMetatileAttributes_Fallarbor, + .callback = InitTilesetAnim_Fallarbor, +}; + +const struct Tileset gTileset_Fortree = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Fortree, + .palettes = gTilesetPalettes_Fortree, + .metatiles = gMetatiles_Fortree, + .metatileAttributes = gMetatileAttributes_Fortree, + .callback = InitTilesetAnim_Fortree, +}; + +const struct Tileset gTileset_Lilycove = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lilycove, + .palettes = gTilesetPalettes_Lilycove, + .metatiles = gMetatiles_Lilycove, + .metatileAttributes = gMetatileAttributes_Lilycove, + .callback = InitTilesetAnim_Lilycove, +}; + +const struct Tileset gTileset_Mossdeep = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Mossdeep, + .palettes = gTilesetPalettes_Mossdeep, + .metatiles = gMetatiles_Mossdeep, + .metatileAttributes = gMetatileAttributes_Mossdeep, + .callback = InitTilesetAnim_Mossdeep, +}; + +const struct Tileset gTileset_EverGrande = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_EverGrande, + .palettes = gTilesetPalettes_EverGrande, + .metatiles = gMetatiles_EverGrande, + .metatileAttributes = gMetatileAttributes_EverGrande, + .callback = InitTilesetAnim_EverGrande, +}; + +const struct Tileset gTileset_Pacifidlog = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Pacifidlog, + .palettes = gTilesetPalettes_Pacifidlog, + .metatiles = gMetatiles_Pacifidlog, + .metatileAttributes = gMetatileAttributes_Pacifidlog, + .callback = InitTilesetAnim_Pacifidlog, +}; + +const struct Tileset gTileset_Sootopolis = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Sootopolis, + .palettes = gTilesetPalettes_Sootopolis, + .metatiles = gMetatiles_Sootopolis, + .metatileAttributes = gMetatileAttributes_Sootopolis, + .callback = InitTilesetAnim_Sootopolis, +}; + +const struct Tileset gTileset_BattleFrontierOutsideWest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierOutsideWest, + .palettes = gTilesetPalettes_BattleFrontierOutsideWest, + .metatiles = gMetatiles_BattleFrontierOutsideWest, + .metatileAttributes = gMetatileAttributes_BattleFrontierOutsideWest, + .callback = InitTilesetAnim_BattleFrontierOutsideWest, +}; + +const struct Tileset gTileset_BattleFrontierOutsideEast = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierOutsideEast, + .palettes = gTilesetPalettes_BattleFrontierOutsideEast, + .metatiles = gMetatiles_BattleFrontierOutsideEast, + .metatileAttributes = gMetatileAttributes_BattleFrontierOutsideEast, + .callback = InitTilesetAnim_BattleFrontierOutsideEast, +}; + +const struct Tileset gTileset_Building = +{ + .isCompressed = TRUE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_InsideBuilding, + .palettes = gTilesetPalettes_InsideBuilding, + .metatiles = gMetatiles_InsideBuilding, + .metatileAttributes = gMetatileAttributes_InsideBuilding, + .callback = InitTilesetAnim_Building, +}; + +const struct Tileset gTileset_Shop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Shop, + .palettes = gTilesetPalettes_Shop, + .metatiles = gMetatiles_Shop, + .metatileAttributes = gMetatileAttributes_Shop, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonCenter = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonCenter, + .palettes = gTilesetPalettes_PokemonCenter, + .metatiles = gMetatiles_PokemonCenter, + .metatileAttributes = gMetatileAttributes_PokemonCenter, + .callback = NULL, +}; + +const struct Tileset gTileset_Cave = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Cave, + .palettes = gTilesetPalettes_Cave, + .metatiles = gMetatiles_Cave, + .metatileAttributes = gMetatileAttributes_Cave, + .callback = InitTilesetAnim_Cave, +}; + +const struct Tileset gTileset_PokemonSchool = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonSchool, + .palettes = gTilesetPalettes_PokemonSchool, + .metatiles = gMetatiles_PokemonSchool, + .metatileAttributes = gMetatileAttributes_PokemonSchool, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonFanClub = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonFanClub, + .palettes = gTilesetPalettes_PokemonFanClub, + .metatiles = gMetatiles_PokemonFanClub, + .metatileAttributes = gMetatileAttributes_PokemonFanClub, + .callback = NULL, +}; + +const struct Tileset gTileset_Unused1 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Unused1, + .palettes = gTilesetPalettes_Unused1, + .metatiles = gMetatiles_Unused1, + .metatileAttributes = gMetatileAttributes_Unused1, + .callback = NULL, +}; + +const struct Tileset gTileset_MeteorFalls = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MeteorFalls, + .palettes = gTilesetPalettes_MeteorFalls, + .metatiles = gMetatiles_MeteorFalls, + .metatileAttributes = gMetatileAttributes_MeteorFalls, + .callback = NULL, +}; + +const struct Tileset gTileset_OceanicMuseum = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_OceanicMuseum, + .palettes = gTilesetPalettes_OceanicMuseum, + .metatiles = gMetatiles_OceanicMuseum, + .metatileAttributes = gMetatileAttributes_OceanicMuseum, + .callback = NULL, +}; + +const struct Tileset gTileset_CableClub = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_CableClub, + .palettes = gTilesetPalettes_CableClub, + .metatiles = gMetatiles_CableClub, + .metatileAttributes = gMetatileAttributes_CableClub, + .callback = NULL, +}; + +const struct Tileset gTileset_SeashoreHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SeashoreHouse, + .palettes = gTilesetPalettes_SeashoreHouse, + .metatiles = gMetatiles_SeashoreHouse, + .metatileAttributes = gMetatileAttributes_SeashoreHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_PrettyPetalFlowerShop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PrettyPetalFlowerShop, + .palettes = gTilesetPalettes_PrettyPetalFlowerShop, + .metatiles = gMetatiles_PrettyPetalFlowerShop, + .metatileAttributes = gMetatileAttributes_PrettyPetalFlowerShop, + .callback = NULL, +}; + +const struct Tileset gTileset_PokemonDayCare = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PokemonDayCare, + .palettes = gTilesetPalettes_PokemonDayCare, + .metatiles = gMetatiles_PokemonDayCare, + .metatileAttributes = gMetatileAttributes_PokemonDayCare, + .callback = NULL, +}; + +const struct Tileset gTileset_Facility = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Facility, + .palettes = gTilesetPalettes_Facility, + .metatiles = gMetatiles_Facility, + .metatileAttributes = gMetatileAttributes_Facility, + .callback = NULL, +}; + +const struct Tileset gTileset_BikeShop = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BikeShop, + .palettes = gTilesetPalettes_BikeShop, + .metatiles = gMetatiles_BikeShop, + .metatileAttributes = gMetatileAttributes_BikeShop, + .callback = InitTilesetAnim_BikeShop, +}; + +const struct Tileset gTileset_RusturfTunnel = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RusturfTunnel, + .palettes = gTilesetPalettes_RusturfTunnel, + .metatiles = gMetatiles_RusturfTunnel, + .metatileAttributes = gMetatileAttributes_RusturfTunnel, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseBrownCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseBrownCave, + .palettes = gTilesetPalettes_SecretBaseBrownCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseTree = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseTree, + .palettes = gTilesetPalettes_SecretBaseTree, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseShrub = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseShrub, + .palettes = gTilesetPalettes_SecretBaseShrub, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseBlueCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseBlueCave, + .palettes = gTilesetPalettes_SecretBaseBlueCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseYellowCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseYellowCave, + .palettes = gTilesetPalettes_SecretBaseYellowCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBaseRedCave = +{ + .isCompressed = FALSE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SecretBaseRedCave, + .palettes = gTilesetPalettes_SecretBaseRedCave, + .metatiles = gMetatiles_SecretBaseSecondary, + .metatileAttributes = gMetatileAttributes_SecretBaseSecondary, + .callback = NULL, +}; + +const struct Tileset gTileset_InsideOfTruck = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_InsideOfTruck, + .palettes = gTilesetPalettes_InsideOfTruck, + .metatiles = gMetatiles_InsideOfTruck, + .metatileAttributes = gMetatileAttributes_InsideOfTruck, + .callback = NULL, +}; + +const struct Tileset gTileset_Unused2 = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Unused2, + .palettes = gTilesetPalettes_Unused2, + .metatiles = gMetatiles_Unused2, + .metatileAttributes = gMetatileAttributes_Unused2, + .callback = NULL, +}; + +const struct Tileset gTileset_Contest = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Contest, + .palettes = gTilesetPalettes_Contest, + .metatiles = gMetatiles_Contest, + .metatileAttributes = gMetatileAttributes_Contest, + .callback = NULL, +}; + +const struct Tileset gTileset_LilycoveMuseum = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_LilycoveMuseum, + .palettes = gTilesetPalettes_LilycoveMuseum, + .metatiles = gMetatiles_LilycoveMuseum, + .metatileAttributes = gMetatileAttributes_LilycoveMuseum, + .callback = NULL, +}; + +const struct Tileset gTileset_BrendansMaysHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BrendansMaysHouse, + .palettes = gTilesetPalettes_BrendansMaysHouse, + .metatiles = gMetatiles_BrendansMaysHouse, + .metatileAttributes = gMetatileAttributes_BrendansMaysHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_Lab = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Lab, + .palettes = gTilesetPalettes_Lab, + .metatiles = gMetatiles_Lab, + .metatileAttributes = gMetatileAttributes_Lab, + .callback = NULL, +}; + +const struct Tileset gTileset_Underwater = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_Underwater, + .palettes = gTilesetPalettes_Underwater, + .metatiles = gMetatiles_Underwater, + .metatileAttributes = gMetatileAttributes_Underwater, + .callback = InitTilesetAnim_Underwater, +}; + +const struct Tileset gTileset_PetalburgGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_PetalburgGym, + .palettes = gTilesetPalettes_PetalburgGym, + .metatiles = gMetatiles_PetalburgGym, + .metatileAttributes = gMetatileAttributes_PetalburgGym, + .callback = NULL, +}; + +const struct Tileset gTileset_SootopolisGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_SootopolisGym, + .palettes = gTilesetPalettes_SootopolisGym, + .metatiles = gMetatiles_SootopolisGym, + .metatileAttributes = gMetatileAttributes_SootopolisGym, + .callback = InitTilesetAnim_SootopolisGym, +}; + +const struct Tileset gTileset_GenericBuilding = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_GenericBuilding, + .palettes = gTilesetPalettes_GenericBuilding, + .metatiles = gMetatiles_GenericBuilding, + .metatileAttributes = gMetatileAttributes_GenericBuilding, + .callback = NULL, +}; + +const struct Tileset gTileset_MauvilleGameCorner = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MauvilleGameCorner, + .palettes = gTilesetPalettes_MauvilleGameCorner, + .metatiles = gMetatiles_MauvilleGameCorner, + .metatileAttributes = gMetatileAttributes_MauvilleGameCorner, + .callback = NULL, +}; + +const struct Tileset gTileset_RustboroGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_RustboroGym, + .palettes = gTilesetPalettes_RustboroGym, + .metatiles = gMetatiles_RustboroGym, + .metatileAttributes = gMetatileAttributes_RustboroGym, + .callback = NULL, +}; + +const struct Tileset gTileset_DewfordGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_DewfordGym, + .palettes = gTilesetPalettes_DewfordGym, + .metatiles = gMetatiles_DewfordGym, + .metatileAttributes = gMetatileAttributes_DewfordGym, + .callback = NULL, +}; + +const struct Tileset gTileset_MauvilleGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MauvilleGym, + .palettes = gTilesetPalettes_MauvilleGym, + .metatiles = gMetatiles_MauvilleGym, + .metatileAttributes = gMetatileAttributes_MauvilleGym, + .callback = InitTilesetAnim_MauvilleGym, +}; + +const struct Tileset gTileset_LavaridgeGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_LavaridgeGym, + .palettes = gTilesetPalettes_LavaridgeGym, + .metatiles = gMetatiles_LavaridgeGym, + .metatileAttributes = gMetatileAttributes_LavaridgeGym, + .callback = NULL, +}; + +const struct Tileset gTileset_TrickHousePuzzle = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TrickHousePuzzle, + .palettes = gTilesetPalettes_TrickHousePuzzle, + .metatiles = gMetatiles_TrickHousePuzzle, + .metatileAttributes = gMetatileAttributes_TrickHousePuzzle, + .callback = NULL, +}; + +const struct Tileset gTileset_FortreeGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_FortreeGym, + .palettes = gTilesetPalettes_FortreeGym, + .metatiles = gMetatiles_FortreeGym, + .metatileAttributes = gMetatileAttributes_FortreeGym, + .callback = NULL, +}; + +const struct Tileset gTileset_MossdeepGym = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MossdeepGym, + .palettes = gTilesetPalettes_MossdeepGym, + .metatiles = gMetatiles_MossdeepGym, + .metatileAttributes = gMetatileAttributes_MossdeepGym, + .callback = NULL, +}; + +const struct Tileset gTileset_InsideShip = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_InsideShip, + .palettes = gTilesetPalettes_InsideShip, + .metatiles = gMetatiles_InsideShip, + .metatileAttributes = gMetatileAttributes_InsideShip, + .callback = NULL, +}; + +const struct Tileset gTileset_SecretBase = +{ + .isCompressed = FALSE, + .isSecondary = FALSE, + .tiles = gTilesetTiles_SecretBase, + .palettes = gTilesetPalettes_SecretBase, + .metatiles = gMetatiles_SecretBasePrimary, + .metatileAttributes = gMetatileAttributes_SecretBasePrimary, + .callback = NULL, +}; + +const struct Tileset * const gTilesetPointer_SecretBase = &gTileset_SecretBase; +const struct Tileset * const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave; + +const struct Tileset gTileset_EliteFour = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_EliteFour, + .palettes = gTilesetPalettes_EliteFour, + .metatiles = gMetatiles_EliteFour, + .metatileAttributes = gMetatileAttributes_EliteFour, + .callback = InitTilesetAnim_EliteFour, +}; + +const struct Tileset gTileset_BattleFrontier = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontier, + .palettes = gTilesetPalettes_BattleFrontier, + .metatiles = gMetatiles_BattleFrontier, + .metatileAttributes = gMetatileAttributes_BattleFrontier, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePalace = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePalace, + .palettes = gTilesetPalettes_BattlePalace, + .metatiles = gMetatiles_BattlePalace, + .metatileAttributes = gMetatileAttributes_BattlePalace, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleDome = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleDome, + .palettes = gTilesetPalettes_BattleDome, + .metatiles = gMetatiles_BattleDome, + .metatileAttributes = gMetatileAttributes_BattleDome, + .callback = InitTilesetAnim_BattleDome, +}; + +const struct Tileset gTileset_BattleFactory = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFactory, + .palettes = gTilesetPalettes_BattleFactory, + .metatiles = gMetatiles_BattleFactory, + .metatileAttributes = gMetatileAttributes_BattleFactory, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePike = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePike, + .palettes = gTilesetPalettes_BattlePike, + .metatiles = gMetatiles_BattlePike, + .metatileAttributes = gMetatileAttributes_BattlePike, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleArena = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleArena, + .palettes = gTilesetPalettes_BattleArena, + .metatiles = gMetatiles_BattleArena, + .metatileAttributes = gMetatileAttributes_BattleArena, + .callback = NULL, +}; + +const struct Tileset gTileset_BattlePyramid = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattlePyramid, + .palettes = gTilesetPalettes_BattlePyramid, + .metatiles = gMetatiles_BattlePyramid, + .metatileAttributes = gMetatileAttributes_BattlePyramid, + .callback = InitTilesetAnim_BattlePyramid, +}; + +const struct Tileset gTileset_MirageTower = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MirageTower, + .palettes = gTilesetPalettes_MirageTower, + .metatiles = gMetatiles_MirageTower, + .metatileAttributes = gMetatileAttributes_MirageTower, + .callback = NULL, +}; + +const struct Tileset gTileset_MossdeepGameCorner = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MossdeepGameCorner, + .palettes = gTilesetPalettes_MossdeepGameCorner, + .metatiles = gMetatiles_MossdeepGameCorner, + .metatileAttributes = gMetatileAttributes_MossdeepGameCorner, + .callback = NULL, +}; + +const struct Tileset gTileset_IslandHarbor = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_IslandHarbor, + .palettes = gTilesetPalettes_IslandHarbor, + .metatiles = gMetatiles_IslandHarbor, + .metatileAttributes = gMetatileAttributes_IslandHarbor, + .callback = NULL, +}; + +const struct Tileset gTileset_TrainerHill = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_TrainerHill, + .palettes = gTilesetPalettes_TrainerHill, + .metatiles = gMetatiles_TrainerHill, + .metatileAttributes = gMetatileAttributes_TrainerHill, + .callback = NULL, +}; + +const struct Tileset gTileset_NavelRock = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_NavelRock, + .palettes = gTilesetPalettes_NavelRock, + .metatiles = gMetatiles_NavelRock, + .metatileAttributes = gMetatileAttributes_NavelRock, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleFrontierRankingHall = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleFrontierRankingHall, + .palettes = gTilesetPalettes_BattleFrontierRankingHall, + .metatiles = gMetatiles_BattleFrontierRankingHall, + .metatileAttributes = gMetatileAttributes_BattleFrontierRankingHall, + .callback = NULL, +}; + +const struct Tileset gTileset_BattleTent = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_BattleTent, + .palettes = gTilesetPalettes_BattleTent, + .metatiles = gMetatiles_BattleTent, + .metatileAttributes = gMetatileAttributes_BattleTent, + .callback = NULL, +}; + +const struct Tileset gTileset_MysteryEventsHouse = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_MysteryEventsHouse, + .palettes = gTilesetPalettes_MysteryEventsHouse, + .metatiles = gMetatiles_MysteryEventsHouse, + .metatileAttributes = gMetatileAttributes_MysteryEventsHouse, + .callback = NULL, +}; + +const struct Tileset gTileset_UnionRoom = +{ + .isCompressed = TRUE, + .isSecondary = TRUE, + .tiles = gTilesetTiles_UnionRoom, + .palettes = gTilesetPalettes_UnionRoom, + .metatiles = gMetatiles_UnionRoom, + .metatileAttributes = gMetatileAttributes_UnionRoom, + .callback = NULL, +}; diff --git a/src/data/tilesets/metatiles.h b/src/data/tilesets/metatiles.h new file mode 100644 index 0000000000..63f9c7b1c6 --- /dev/null +++ b/src/data/tilesets/metatiles.h @@ -0,0 +1,209 @@ +const u16 gMetatiles_General[] = INCBIN_U16("data/tilesets/primary/general/metatiles.bin"); +const u16 gMetatileAttributes_General[] = INCBIN_U16("data/tilesets/primary/general/metatile_attributes.bin"); + +const u16 gMetatiles_Petalburg[] = INCBIN_U16("data/tilesets/secondary/petalburg/metatiles.bin"); +const u16 gMetatileAttributes_Petalburg[] = INCBIN_U16("data/tilesets/secondary/petalburg/metatile_attributes.bin"); + +const u16 gMetatiles_Rustboro[] = INCBIN_U16("data/tilesets/secondary/rustboro/metatiles.bin"); +const u16 gMetatileAttributes_Rustboro[] = INCBIN_U16("data/tilesets/secondary/rustboro/metatile_attributes.bin"); + +const u16 gMetatiles_Dewford[] = INCBIN_U16("data/tilesets/secondary/dewford/metatiles.bin"); +const u16 gMetatileAttributes_Dewford[] = INCBIN_U16("data/tilesets/secondary/dewford/metatile_attributes.bin"); + +const u16 gMetatiles_Slateport[] = INCBIN_U16("data/tilesets/secondary/slateport/metatiles.bin"); +const u16 gMetatileAttributes_Slateport[] = INCBIN_U16("data/tilesets/secondary/slateport/metatile_attributes.bin"); + +const u16 gMetatiles_Mauville[] = INCBIN_U16("data/tilesets/secondary/mauville/metatiles.bin"); +const u16 gMetatileAttributes_Mauville[] = INCBIN_U16("data/tilesets/secondary/mauville/metatile_attributes.bin"); + +const u16 gMetatiles_Lavaridge[] = INCBIN_U16("data/tilesets/secondary/lavaridge/metatiles.bin"); +const u16 gMetatileAttributes_Lavaridge[] = INCBIN_U16("data/tilesets/secondary/lavaridge/metatile_attributes.bin"); + +const u16 gMetatiles_Fallarbor[] = INCBIN_U16("data/tilesets/secondary/fallarbor/metatiles.bin"); +const u16 gMetatileAttributes_Fallarbor[] = INCBIN_U16("data/tilesets/secondary/fallarbor/metatile_attributes.bin"); + +const u16 gMetatiles_Fortree[] = INCBIN_U16("data/tilesets/secondary/fortree/metatiles.bin"); +const u16 gMetatileAttributes_Fortree[] = INCBIN_U16("data/tilesets/secondary/fortree/metatile_attributes.bin"); + +const u16 gMetatiles_Lilycove[] = INCBIN_U16("data/tilesets/secondary/lilycove/metatiles.bin"); +const u16 gMetatileAttributes_Lilycove[] = INCBIN_U16("data/tilesets/secondary/lilycove/metatile_attributes.bin"); + +const u16 gMetatiles_Mossdeep[] = INCBIN_U16("data/tilesets/secondary/mossdeep/metatiles.bin"); +const u16 gMetatileAttributes_Mossdeep[] = INCBIN_U16("data/tilesets/secondary/mossdeep/metatile_attributes.bin"); + +const u16 gMetatiles_EverGrande[] = INCBIN_U16("data/tilesets/secondary/ever_grande/metatiles.bin"); +const u16 gMetatileAttributes_EverGrande[] = INCBIN_U16("data/tilesets/secondary/ever_grande/metatile_attributes.bin"); + +const u16 gMetatiles_Pacifidlog[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/metatiles.bin"); +const u16 gMetatileAttributes_Pacifidlog[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/metatile_attributes.bin"); + +const u16 gMetatiles_Sootopolis[] = INCBIN_U16("data/tilesets/secondary/sootopolis/metatiles.bin"); +const u16 gMetatileAttributes_Sootopolis[] = INCBIN_U16("data/tilesets/secondary/sootopolis/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierOutsideWest[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierOutsideWest[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierOutsideEast[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierOutsideEast[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin"); + +const u16 gMetatiles_InsideBuilding[] = INCBIN_U16("data/tilesets/primary/building/metatiles.bin"); +const u16 gMetatileAttributes_InsideBuilding[] = INCBIN_U16("data/tilesets/primary/building/metatile_attributes.bin"); + +const u16 gMetatiles_Shop[] = INCBIN_U16("data/tilesets/secondary/shop/metatiles.bin"); +const u16 gMetatileAttributes_Shop[] = INCBIN_U16("data/tilesets/secondary/shop/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatiles.bin"); +const u16 gMetatileAttributes_PokemonCenter[] = INCBIN_U16("data/tilesets/secondary/pokemon_center/metatile_attributes.bin"); + +const u16 gMetatiles_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatiles.bin"); +const u16 gMetatileAttributes_Cave[] = INCBIN_U16("data/tilesets/secondary/cave/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonSchool[] = INCBIN_U16("data/tilesets/secondary/pokemon_school/metatiles.bin"); +const u16 gMetatileAttributes_PokemonSchool[] = INCBIN_U16("data/tilesets/secondary/pokemon_school/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonFanClub[] = INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/metatiles.bin"); +const u16 gMetatileAttributes_PokemonFanClub[] = INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin"); + +const u16 gMetatiles_Unused1[] = INCBIN_U16("data/tilesets/secondary/unused_1/metatiles.bin"); +const u16 gMetatileAttributes_Unused1[] = INCBIN_U16("data/tilesets/secondary/unused_1/metatile_attributes.bin"); + +const u16 gMetatiles_MeteorFalls[] = INCBIN_U16("data/tilesets/secondary/meteor_falls/metatiles.bin"); +const u16 gMetatileAttributes_MeteorFalls[] = INCBIN_U16("data/tilesets/secondary/meteor_falls/metatile_attributes.bin"); + +const u16 gMetatiles_OceanicMuseum[] = INCBIN_U16("data/tilesets/secondary/oceanic_museum/metatiles.bin"); +const u16 gMetatileAttributes_OceanicMuseum[] = INCBIN_U16("data/tilesets/secondary/oceanic_museum/metatile_attributes.bin"); + +const u16 gMetatiles_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatiles.bin"); +const u16 gMetatileAttributes_CableClub[] = INCBIN_U16("data/tilesets/secondary/cable_club/metatile_attributes.bin"); + +const u16 gMetatiles_SeashoreHouse[] = INCBIN_U16("data/tilesets/secondary/seashore_house/metatiles.bin"); +const u16 gMetatileAttributes_SeashoreHouse[] = INCBIN_U16("data/tilesets/secondary/seashore_house/metatile_attributes.bin"); + +const u16 gMetatiles_PrettyPetalFlowerShop[] = INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin"); +const u16 gMetatileAttributes_PrettyPetalFlowerShop[] = INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin"); + +const u16 gMetatiles_PokemonDayCare[] = INCBIN_U16("data/tilesets/secondary/pokemon_day_care/metatiles.bin"); +const u16 gMetatileAttributes_PokemonDayCare[] = INCBIN_U16("data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin"); + +const u16 gMetatiles_Facility[] = INCBIN_U16("data/tilesets/secondary/facility/metatiles.bin"); +const u16 gMetatileAttributes_Facility[] = INCBIN_U16("data/tilesets/secondary/facility/metatile_attributes.bin"); + +const u16 gMetatiles_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatiles.bin"); +const u16 gMetatileAttributes_BikeShop[] = INCBIN_U16("data/tilesets/secondary/bike_shop/metatile_attributes.bin"); + +const u16 gMetatiles_RusturfTunnel[] = INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/metatiles.bin"); +const u16 gMetatileAttributes_RusturfTunnel[] = INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin"); + +const u16 gMetatiles_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatiles.bin"); +const u16 gMetatileAttributes_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatile_attributes.bin"); + +const u16 gMetatiles_InsideOfTruck[] = INCBIN_U16("data/tilesets/secondary/inside_of_truck/metatiles.bin"); +const u16 gMetatileAttributes_InsideOfTruck[] = INCBIN_U16("data/tilesets/secondary/inside_of_truck/metatile_attributes.bin"); + +const u16 gMetatiles_Contest[] = INCBIN_U16("data/tilesets/secondary/contest/metatiles.bin"); +const u16 gMetatileAttributes_Contest[] = INCBIN_U16("data/tilesets/secondary/contest/metatile_attributes.bin"); + +const u16 gMetatiles_LilycoveMuseum[] = INCBIN_U16("data/tilesets/secondary/lilycove_museum/metatiles.bin"); +const u16 gMetatileAttributes_LilycoveMuseum[] = INCBIN_U16("data/tilesets/secondary/lilycove_museum/metatile_attributes.bin"); + +const u16 gMetatiles_BrendansMaysHouse[] = INCBIN_U16("data/tilesets/secondary/brendans_mays_house/metatiles.bin"); +const u16 gMetatileAttributes_BrendansMaysHouse[] = INCBIN_U16("data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin"); + +const u16 gMetatiles_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatiles.bin"); +const u16 gMetatileAttributes_Lab[] = INCBIN_U16("data/tilesets/secondary/lab/metatile_attributes.bin"); + +const u16 gMetatiles_Underwater[] = INCBIN_U16("data/tilesets/secondary/underwater/metatiles.bin"); +const u16 gMetatileAttributes_Underwater[] = INCBIN_U16("data/tilesets/secondary/underwater/metatile_attributes.bin"); + +const u16 gMetatiles_GenericBuilding[] = INCBIN_U16("data/tilesets/secondary/generic_building/metatiles.bin"); +const u16 gMetatileAttributes_GenericBuilding[] = INCBIN_U16("data/tilesets/secondary/generic_building/metatile_attributes.bin"); + +const u16 gMetatiles_MauvilleGameCorner[] = INCBIN_U16("data/tilesets/secondary/mauville_game_corner/metatiles.bin"); +const u16 gMetatileAttributes_MauvilleGameCorner[] = INCBIN_U16("data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin"); + +const u16 gMetatiles_Unused2[] = INCBIN_U16("data/tilesets/secondary/unused_2/metatiles.bin"); +const u16 gMetatileAttributes_Unused2[] = INCBIN_U16("data/tilesets/secondary/unused_2/metatile_attributes.bin"); + +const u16 gMetatiles_RustboroGym[] = INCBIN_U16("data/tilesets/secondary/rustboro_gym/metatiles.bin"); +const u16 gMetatileAttributes_RustboroGym[] = INCBIN_U16("data/tilesets/secondary/rustboro_gym/metatile_attributes.bin"); + +const u16 gMetatiles_DewfordGym[] = INCBIN_U16("data/tilesets/secondary/dewford_gym/metatiles.bin"); +const u16 gMetatileAttributes_DewfordGym[] = INCBIN_U16("data/tilesets/secondary/dewford_gym/metatile_attributes.bin"); + +const u16 gMetatiles_MauvilleGym[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/metatiles.bin"); +const u16 gMetatileAttributes_MauvilleGym[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/metatile_attributes.bin"); + +const u16 gMetatiles_LavaridgeGym[] = INCBIN_U16("data/tilesets/secondary/lavaridge_gym/metatiles.bin"); +const u16 gMetatileAttributes_LavaridgeGym[] = INCBIN_U16("data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin"); + +const u16 gMetatiles_PetalburgGym[] = INCBIN_U16("data/tilesets/secondary/petalburg_gym/metatiles.bin"); +const u16 gMetatileAttributes_PetalburgGym[] = INCBIN_U16("data/tilesets/secondary/petalburg_gym/metatile_attributes.bin"); + +const u16 gMetatiles_FortreeGym[] = INCBIN_U16("data/tilesets/secondary/fortree_gym/metatiles.bin"); +const u16 gMetatileAttributes_FortreeGym[] = INCBIN_U16("data/tilesets/secondary/fortree_gym/metatile_attributes.bin"); + +const u16 gMetatiles_MossdeepGym[] = INCBIN_U16("data/tilesets/secondary/mossdeep_gym/metatiles.bin"); +const u16 gMetatileAttributes_MossdeepGym[] = INCBIN_U16("data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin"); + +const u16 gMetatiles_SootopolisGym[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/metatiles.bin"); +const u16 gMetatileAttributes_SootopolisGym[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin"); + +const u16 gMetatiles_TrickHousePuzzle[] = INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/metatiles.bin"); +const u16 gMetatileAttributes_TrickHousePuzzle[] = INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin"); + +const u16 gMetatiles_InsideShip[] = INCBIN_U16("data/tilesets/secondary/inside_ship/metatiles.bin"); +const u16 gMetatileAttributes_InsideShip[] = INCBIN_U16("data/tilesets/secondary/inside_ship/metatile_attributes.bin"); + +const u16 gMetatiles_SecretBasePrimary[] = INCBIN_U16("data/tilesets/primary/secret_base/metatiles.bin"); +const u16 gMetatileAttributes_SecretBasePrimary[] = INCBIN_U16("data/tilesets/primary/secret_base/metatile_attributes.bin"); + +const u16 gMetatiles_EliteFour[] = INCBIN_U16("data/tilesets/secondary/elite_four/metatiles.bin"); +const u16 gMetatileAttributes_EliteFour[] = INCBIN_U16("data/tilesets/secondary/elite_four/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontier[] = INCBIN_U16("data/tilesets/secondary/battle_frontier/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontier[] = INCBIN_U16("data/tilesets/secondary/battle_frontier/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePalace[] = INCBIN_U16("data/tilesets/secondary/battle_palace/metatiles.bin"); +const u16 gMetatileAttributes_BattlePalace[] = INCBIN_U16("data/tilesets/secondary/battle_palace/metatile_attributes.bin"); + +const u16 gMetatiles_BattleDome[] = INCBIN_U16("data/tilesets/secondary/battle_dome/metatiles.bin"); +const u16 gMetatileAttributes_BattleDome[] = INCBIN_U16("data/tilesets/secondary/battle_dome/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFactory[] = INCBIN_U16("data/tilesets/secondary/battle_factory/metatiles.bin"); +const u16 gMetatileAttributes_BattleFactory[] = INCBIN_U16("data/tilesets/secondary/battle_factory/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePike[] = INCBIN_U16("data/tilesets/secondary/battle_pike/metatiles.bin"); +const u16 gMetatileAttributes_BattlePike[] = INCBIN_U16("data/tilesets/secondary/battle_pike/metatile_attributes.bin"); + +const u16 gMetatiles_BattleArena[] = INCBIN_U16("data/tilesets/secondary/battle_arena/metatiles.bin"); +const u16 gMetatileAttributes_BattleArena[] = INCBIN_U16("data/tilesets/secondary/battle_arena/metatile_attributes.bin"); + +const u16 gMetatiles_BattlePyramid[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/metatiles.bin"); +const u16 gMetatileAttributes_BattlePyramid[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/metatile_attributes.bin"); + +const u16 gMetatiles_MirageTower[] = INCBIN_U16("data/tilesets/secondary/mirage_tower/metatiles.bin"); +const u16 gMetatileAttributes_MirageTower[] = INCBIN_U16("data/tilesets/secondary/mirage_tower/metatile_attributes.bin"); + +const u16 gMetatiles_MossdeepGameCorner[] = INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/metatiles.bin"); +const u16 gMetatileAttributes_MossdeepGameCorner[] = INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin"); + +const u16 gMetatiles_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatiles.bin"); +const u16 gMetatileAttributes_IslandHarbor[] = INCBIN_U16("data/tilesets/secondary/island_harbor/metatile_attributes.bin"); + +const u16 gMetatiles_TrainerHill[] = INCBIN_U16("data/tilesets/secondary/trainer_hill/metatiles.bin"); +const u16 gMetatileAttributes_TrainerHill[] = INCBIN_U16("data/tilesets/secondary/trainer_hill/metatile_attributes.bin"); + +const u16 gMetatiles_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatiles.bin"); +const u16 gMetatileAttributes_NavelRock[] = INCBIN_U16("data/tilesets/secondary/navel_rock/metatile_attributes.bin"); + +const u16 gMetatiles_BattleFrontierRankingHall[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin"); +const u16 gMetatileAttributes_BattleFrontierRankingHall[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin"); + +const u16 gMetatiles_BattleTent[] = INCBIN_U16("data/tilesets/secondary/battle_tent/metatiles.bin"); +const u16 gMetatileAttributes_BattleTent[] = INCBIN_U16("data/tilesets/secondary/battle_tent/metatile_attributes.bin"); + +const u16 gMetatiles_MysteryEventsHouse[] = INCBIN_U16("data/tilesets/secondary/mystery_events_house/metatiles.bin"); +const u16 gMetatileAttributes_MysteryEventsHouse[] = INCBIN_U16("data/tilesets/secondary/mystery_events_house/metatile_attributes.bin"); + +const u16 gMetatiles_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatiles.bin"); +const u16 gMetatileAttributes_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatile_attributes.bin"); diff --git a/src/data/union_room.h b/src/data/union_room.h index 07f8e48994..f32910388b 100644 --- a/src/data/union_room.h +++ b/src/data/union_room.h @@ -717,9 +717,9 @@ static const struct ListMenuTemplate sListMenuTemplate_PossibleGroupMembers = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 1 + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_INVISIBLE }; static const struct WindowTemplate sWindowTemplate_GroupList = { @@ -777,9 +777,9 @@ static const struct ListMenuTemplate sListMenuTemplate_UnionRoomGroups = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; static const struct WindowTemplate sWindowTemplate_InviteToActivity = { @@ -815,9 +815,9 @@ static const struct ListMenuTemplate sListMenuTemplate_InviteToActivity = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; static const struct WindowTemplate sWindowTemplate_RegisterForTrade = { @@ -852,9 +852,9 @@ static const struct ListMenuTemplate sListMenuTemplate_RegisterForTrade = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; static const struct WindowTemplate sWindowTemplate_TradingBoardRequestType = { @@ -905,9 +905,9 @@ static const struct ListMenuTemplate sMenuTemplate_TradingBoardRequestType = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; static const struct WindowTemplate sWindowTemplate_TradingBoardHeader = { @@ -931,7 +931,7 @@ static const struct WindowTemplate sWindowTemplate_TradingBoardMain = { }; static const struct ListMenuItem sTradeBoardListMenuItems[] = { - { sText_EmptyString, -3 }, + { sText_EmptyString, LIST_HEADER }, { sText_EmptyString, 0 }, { sText_EmptyString, 1 }, { sText_EmptyString, 2 }, @@ -959,9 +959,9 @@ static const struct ListMenuTemplate sTradeBoardListMenuTemplate = { .cursorShadowPal = 13, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; // Unused @@ -1011,9 +1011,9 @@ static const struct ListMenuTemplate sEmptyListMenuTemplate = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 1, - .fontId = 1, - .cursorKind = 0 + .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, + .fontId = FONT_NORMAL, + .cursorKind = CURSOR_BLACK_ARROW }; static const struct RfuPlayerData sUnionRoomPlayer_DummyRfu = {0}; diff --git a/src/daycare.c b/src/daycare.c index 18bc45eb01..a8bdfa0ede 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -80,7 +80,7 @@ static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const u8 *const sCompatibilityMessages[] = @@ -886,7 +886,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) language = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); - SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gSpeciesInfo[species].eggCycles); SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); SetMonData(mon, MON_DATA_LANGUAGE, &language); if (setHotSpringsLocation) @@ -913,7 +913,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare * language = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, sJapaneseEggNickname); - SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); + SetMonData(mon, MON_DATA_FRIENDSHIP, &gSpeciesInfo[species].eggCycles); SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); SetMonData(mon, MON_DATA_LANGUAGE, &language); } @@ -1075,8 +1075,8 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) trainerIds[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_OT_ID); personality = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_PERSONALITY); genders[i] = GetGenderFromSpeciesAndPersonality(species[i], personality); - eggGroups[i][0] = gBaseStats[species[i]].eggGroup1; - eggGroups[i][1] = gBaseStats[species[i]].eggGroup2; + eggGroups[i][0] = gSpeciesInfo[species[i]].eggGroup1; + eggGroups[i][1] = gSpeciesInfo[species[i]].eggGroup2; } // check unbreedable egg group diff --git a/src/debug.c b/src/debug.c index aaf5a81316..90081eb617 100644 --- a/src/debug.c +++ b/src/debug.c @@ -58,7 +58,7 @@ #include "constants/species.h" #include "constants/weather.h" -#if DEBUG_SYSTEM_ENABLE == TRUE +#if DEBUG_OVERWORLD_MENU == TRUE // ******************************* // Enums enum { // Main @@ -2178,6 +2178,8 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) { PlaySE(MUS_LEVEL_UP); ScriptGiveMon(sDebugMonData->mon_speciesId, gTasks[taskId].data[3], ITEM_NONE, 0,0,0); + //Set flag for user convenience + FlagSet(FLAG_SYS_POKEMON_GET); Free(sDebugMonData); //Frees EWRAM of MonData Struct DebugAction_DestroyExtraWindow(taskId); } @@ -2732,6 +2734,9 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu break; } + //Set flag for user convenience + FlagSet(FLAG_SYS_POKEMON_GET); + Free(sDebugMonData); //Frees EWRAM of MonData Struct DebugAction_DestroyExtraWindow(taskId); //return sentToPc; } @@ -2792,16 +2797,6 @@ static void DebugAction_Give_CHEAT(u8 taskId) ScriptContext_SetupScript(Debug_CheatStart); } -static void Task_WaitFadeAccessPC(u8 taskId) -{ - if (!gPaletteFade.active) - { - DestroyTask(taskId); - FlagSet(DEBUG_FLAG_PC_FROM_DEBUG_MENU); - EnterPokeStorage(2); - } -} - static void DebugAction_AccessPC(u8 taskId) { Debug_DestroyMenu_Full(taskId); @@ -3525,4 +3520,4 @@ SOUND_LIST_SE }; #undef X -#endif //DEBUG_SYSTEM_ENABLE == TRUE +#endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/decoration.c b/src/decoration.c index cd3e185da3..8ec80415b5 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -314,8 +314,9 @@ static const struct ListMenuTemplate sDecorationItemsListMenuTemplate = .cursorShadowPal = 3, .lettersSpacing = FALSE, .itemVerticalPadding = 0, - .scrollMultiple = FALSE, - .fontId = FONT_NARROW + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NARROW, + .cursorKind = CURSOR_BLACK_ARROW, }; #include "data/decoration/icon.h" @@ -890,7 +891,7 @@ static void PrintDecorationItemMenuItems(u8 taskId) StringCopy(sDecorationItemsMenu->names[i], gText_Cancel); sDecorationItemsMenu->items[i].name = sDecorationItemsMenu->names[i]; - sDecorationItemsMenu->items[i].id = -2; + sDecorationItemsMenu->items[i].id = LIST_CANCEL; gMultiuseListMenuTemplate = sDecorationItemsListMenuTemplate; gMultiuseListMenuTemplate.windowId = sDecorMenuWindowIds[WINDOW_DECORATION_CATEGORIES]; gMultiuseListMenuTemplate.totalItems = sDecorationItemsMenu->numMenuItems; @@ -1976,7 +1977,7 @@ static void SetDecorSelectionMetatiles(struct PlaceDecorationGraphicsDataBuffer shape = data->decoration->shape; for (i = 0; i < sDecorTilemaps[shape].size; i++) { - data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * 8 + sDecorTilemaps[shape].x[i]); + data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * NUM_TILES_PER_METATILE + sDecorTilemaps[shape].x[i]); } } @@ -2036,7 +2037,7 @@ static u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphics SetDecorSelectionMetatiles(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); SetDecorSelectionBoxTiles(data); - CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); LoadSpritePalette(&sSpritePal_PlaceDecoration); return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } @@ -2092,7 +2093,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u SetDecorSelectionMetatiles(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); SetDecorSelectionBoxTiles(&sPlaceDecorationGraphicsDataBuffer); - CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); sheet.data = sPlaceDecorationGraphicsDataBuffer.image; sheet.size = sDecorShapeSizes[sPlaceDecorationGraphicsDataBuffer.decoration->shape] * TILE_SIZE_4BPP; sheet.tag = tilesTag; diff --git a/src/dodrio_berry_picking.c b/src/dodrio_berry_picking.c index a3710e04fb..268b930ae8 100644 --- a/src/dodrio_berry_picking.c +++ b/src/dodrio_berry_picking.c @@ -4675,7 +4675,7 @@ static void ShowNames(void) ClearWindowTilemap(sGfx->windowIds[i]); RemoveWindow(sGfx->windowIds[i]); } - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; } @@ -4859,7 +4859,7 @@ static void ShowResults(void) sGfx->state++; } - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, 30, 15); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 5, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT - 5); RemoveWindow(sGfx->windowIds[1]); sGfx->windowIds[1] = AddWindow(&sWindowTemplate_Prize); ClearWindowTilemap(sGfx->windowIds[1]); @@ -4917,7 +4917,7 @@ static void ShowResults(void) ClearWindowTilemap(sGfx->windowIds[1]); RemoveWindow(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[1]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5012,7 +5012,7 @@ static void Msg_WantToPlayAgain(void) ClearWindowTilemap(sGfx->windowIds[WIN_YES_NO]); RemoveWindow(sGfx->windowIds[WIN_PLAY_AGAIN]); RemoveWindow(sGfx->windowIds[WIN_YES_NO]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5044,7 +5044,7 @@ static void Msg_SavingDontTurnOff(void) sGfx->state++; break; default: - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; @@ -5083,7 +5083,7 @@ static void EraseMessage(void) { ClearWindowTilemap(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[0]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; } @@ -5121,7 +5121,7 @@ static void Msg_SomeoneDroppedOut(void) sGfx->playAgainState = PLAY_AGAIN_DROPPED; ClearWindowTilemap(sGfx->windowIds[0]); RemoveWindow(sGfx->windowIds[0]); - FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(BG_INTERFACE, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(BG_INTERFACE); sGfx->finished = TRUE; break; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index dde4f06a5b..a4039253c6 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -169,7 +169,20 @@ static bool8 AreElevationsCompatible(u8, u8); static const struct SpriteFrameImage sPicTable_PechaBerryTree[]; -const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; +const u8 gReflectionEffectPaletteMap[16] = { + [PALSLOT_PLAYER] = PALSLOT_PLAYER_REFLECTION, + [PALSLOT_PLAYER_REFLECTION] = PALSLOT_PLAYER_REFLECTION, + [PALSLOT_NPC_1] = PALSLOT_NPC_1_REFLECTION, + [PALSLOT_NPC_2] = PALSLOT_NPC_2_REFLECTION, + [PALSLOT_NPC_3] = PALSLOT_NPC_3_REFLECTION, + [PALSLOT_NPC_4] = PALSLOT_NPC_4_REFLECTION, + [PALSLOT_NPC_1_REFLECTION] = PALSLOT_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = PALSLOT_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = PALSLOT_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = PALSLOT_NPC_4_REFLECTION, + [PALSLOT_NPC_SPECIAL] = PALSLOT_NPC_SPECIAL_REFLECTION, + [PALSLOT_NPC_SPECIAL_REFLECTION] = PALSLOT_NPC_SPECIAL_REFLECTION +}; static const struct SpriteTemplate sCameraSpriteTemplate = { .tileTag = 0, @@ -611,55 +624,55 @@ static const struct PairedPalettes sSpecialObjectReflectionPaletteSets[] = { }; static const u16 sObjectPaletteTags0[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags1[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags2[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 sObjectPaletteTags3[] = { - OBJ_EVENT_PAL_TAG_BRENDAN, - OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_1, - OBJ_EVENT_PAL_TAG_NPC_2, - OBJ_EVENT_PAL_TAG_NPC_3, - OBJ_EVENT_PAL_TAG_NPC_4, - OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, - OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, + [PALSLOT_PLAYER] = OBJ_EVENT_PAL_TAG_BRENDAN, + [PALSLOT_PLAYER_REFLECTION] = OBJ_EVENT_PAL_TAG_BRENDAN_REFLECTION, + [PALSLOT_NPC_1] = OBJ_EVENT_PAL_TAG_NPC_1, + [PALSLOT_NPC_2] = OBJ_EVENT_PAL_TAG_NPC_2, + [PALSLOT_NPC_3] = OBJ_EVENT_PAL_TAG_NPC_3, + [PALSLOT_NPC_4] = OBJ_EVENT_PAL_TAG_NPC_4, + [PALSLOT_NPC_1_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_1_REFLECTION, + [PALSLOT_NPC_2_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_2_REFLECTION, + [PALSLOT_NPC_3_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_3_REFLECTION, + [PALSLOT_NPC_4_REFLECTION] = OBJ_EVENT_PAL_TAG_NPC_4_REFLECTION, }; static const u16 *const sObjectPaletteTagSets[] = { @@ -1397,13 +1410,13 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl objectEvent = &gObjectEvents[objectEventId]; graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { - LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, 0); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { - LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, 10); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteSlot); } else if (paletteSlot >= 16) { @@ -1591,7 +1604,7 @@ u8 CreateVirtualObject(u8 graphicsId, u8 virtualObjId, s16 x, s16 y, u8 elevatio sprite->coordOffsetEnabled = TRUE; sprite->sVirtualObjId = virtualObjId; sprite->sVirtualObjElev = elevation; - if (graphicsInfo->paletteSlot == 10) + if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); else if (graphicsInfo->paletteSlot >= 16) _PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot | 0xf0); @@ -1717,11 +1730,11 @@ static void SpawnObjectEventOnReturnToField(u8 objectEventId, s16 x, s16 y) *(u16 *)&spriteTemplate.paletteTag = TAG_NONE; paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } @@ -1792,11 +1805,11 @@ void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId) graphicsInfo = GetObjectEventGraphicsInfo(graphicsId); sprite = &gSprites[objectEvent->spriteId]; paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) + if (paletteSlot == PALSLOT_PLAYER) { PatchObjectPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } - else if (paletteSlot == 10) + else if (paletteSlot == PALSLOT_NPC_SPECIAL) { LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); } @@ -1974,7 +1987,7 @@ void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, void FreeAndReserveObjectSpritePalettes(void) { FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 12; + gReservedSpritePaletteCount = OBJ_PALSLOT_COUNT; } static void LoadObjectEventPalette(u16 paletteTag) @@ -2500,19 +2513,19 @@ void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup } } -void InitObjectEventPalettes(u8 palSlot) +void InitObjectEventPalettes(u8 reflectionType) { FreeAndReserveObjectSpritePalettes(); sCurrentSpecialObjectPaletteTag = OBJ_EVENT_PAL_TAG_NONE; - sCurrentReflectionType = palSlot; - if (palSlot == 1) + sCurrentReflectionType = reflectionType; + if (reflectionType == 1) { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 6); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4 + 1); gReservedSpritePaletteCount = 8; } else { - PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], 0, 10); + PatchObjectPaletteRange(sObjectPaletteTagSets[sCurrentReflectionType], PALSLOT_PLAYER, PALSLOT_NPC_4_REFLECTION + 1); } } @@ -2520,7 +2533,7 @@ u16 GetObjectPaletteTag(u8 palSlot) { u8 i; - if (palSlot < 10) + if (palSlot < PALSLOT_NPC_SPECIAL) return sObjectPaletteTagSets[sCurrentReflectionType][palSlot]; for (i = 0; sSpecialObjectReflectionPaletteSets[i].tag != OBJ_EVENT_PAL_TAG_NONE; i++) @@ -4630,7 +4643,7 @@ u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) { u8 direction = dir; -#if DEBUG_SYSTEM_ENABLE == TRUE +#if DEBUG_FLAG_NO_COLLISION != 0 if (FlagGet(DEBUG_FLAG_NO_COLLISION)) return COLLISION_NONE; #endif diff --git a/src/field_camera.c b/src/field_camera.c index 9b129e6b26..3f7e29208c 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -30,7 +30,7 @@ static void RedrawMapSliceWest(struct FieldCameraOffset *, const struct MapLayou static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *, s32, s32); static void DrawWholeMapViewInternal(int, int, const struct MapLayout *); static void DrawMetatileAt(const struct MapLayout *, u16, int, int); -static void DrawMetatile(s32, u16 *, u16); +static void DrawMetatile(s32, const u16 *, u16); static void CameraPanningCB_PanAhead(void); static struct FieldCameraOffset sFieldCameraOffset; @@ -226,7 +226,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *tiles) static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y) { u16 metatileId = MapGridGetMetatileIdAt(x, y); - u16 *metatiles; + const u16 *metatiles; if (metatileId > NUM_METATILES_TOTAL) metatileId = 0; @@ -237,10 +237,10 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= NUM_METATILES_IN_PRIMARY; } - DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); + DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * NUM_TILES_PER_METATILE, offset); } -static void DrawMetatile(s32 metatileLayerType, u16 *tiles, u16 offset) +static void DrawMetatile(s32 metatileLayerType, const u16 *tiles, u16 offset) { switch (metatileLayerType) { diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index c325b63e5c..96e9173c9b 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -37,7 +37,7 @@ #include "constants/trainer_hill.h" static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; -static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; +static EWRAM_DATA u16 sPrevMetatileBehavior = 0; u8 gSelectedObjectEvent; @@ -131,11 +131,11 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; -#if DEBUG_SYSTEM_ENABLE == TRUE && DEBUG_SYSTEM_IN_MENU == FALSE - if ((heldKeys & DEBUG_SYSTEM_HELD_KEYS) && input->DEBUG_SYSTEM_TRIGGER_EVENT) +#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE + if ((heldKeys & DEBUG_OVERWORLD_HELD_KEYS) && input->DEBUG_OVERWORLD_TRIGGER_EVENT) { input->input_field_1_2 = TRUE; - input->DEBUG_SYSTEM_TRIGGER_EVENT = FALSE; + input->DEBUG_OVERWORLD_TRIGGER_EVENT = FALSE; } #endif } @@ -197,7 +197,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->pressedSelectButton && UseRegisteredKeyItemOnField() == TRUE) return TRUE; -#if DEBUG_SYSTEM_ENABLE == TRUE && DEBUG_SYSTEM_IN_MENU == FALSE +#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE if (input->input_field_1_2) { PlaySE(SE_WIN_OPEN); @@ -693,18 +693,18 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior) if (sWildEncounterImmunitySteps < 4) { sWildEncounterImmunitySteps++; - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return FALSE; } - if (StandardWildEncounter(metatileBehavior, sPreviousPlayerMetatileBehavior) == TRUE) + if (StandardWildEncounter(metatileBehavior, sPrevMetatileBehavior) == TRUE) { sWildEncounterImmunitySteps = 0; - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return TRUE; } - sPreviousPlayerMetatileBehavior = metatileBehavior; + sPrevMetatileBehavior = metatileBehavior; return FALSE; } @@ -837,7 +837,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi warpEvent = &gMapHeader.events->warps[warpEventId]; } - if (warpEvent->mapNum == MAP_NUM(NONE)) + if (warpEvent->mapNum == MAP_NUM(DYNAMIC)) { SetWarpDestinationToDynamicWarp(warpEvent->warpId); } @@ -848,7 +848,7 @@ static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPositi SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); UpdateEscapeWarp(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); - if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE)) + if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(DYNAMIC)) SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } @@ -906,7 +906,7 @@ static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) DoCoordEventWeather(coordEvent->trigger); return NULL; } - if (coordEvent->trigger == 0) + if (coordEvent->trigger == TRIGGER_RUN_IMMEDIATELY) { RunScriptImmediately(coordEvent->script); return NULL; diff --git a/src/field_effect.c b/src/field_effect.c index 674125aaf7..4b651b2a30 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -405,6 +405,11 @@ static const struct SpriteFrameImage sPicTable_HofMonitorSmall[] = {.data = sHofMonitorSmall_Gfx, .size = 0x200} // the macro breaks down here }; +/* +[0_][] <-1 24x16 +[2 ][] <-3 + ^-- Origin +*/ static const struct Subsprite sSubsprites_PokecenterMonitor[] = { { @@ -443,6 +448,11 @@ static const struct Subsprite sSubsprites_PokecenterMonitor[] = static const struct SubspriteTable sSubspriteTable_PokecenterMonitor = subsprite_table(sSubsprites_PokecenterMonitor); +/* +[0_____][1_____] 24x16 +[2 ][3 ] + ^-- Origin +*/ static const struct Subsprite sSubsprites_HofMonitorBig[] = { { diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 5b8123a71d..9421aaf27a 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -97,18 +97,12 @@ static void LoadObjectRegularReflectionPalette(struct ObjectEvent *objectEvent, graphicsInfo = GetObjectEventGraphicsInfo(objectEvent->graphicsId); if (graphicsInfo->reflectionPaletteTag != OBJ_EVENT_PAL_TAG_NONE) { - if (graphicsInfo->paletteSlot == 0) - { + if (graphicsInfo->paletteSlot == PALSLOT_PLAYER) LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } - else if (graphicsInfo->paletteSlot == 10) - { + else if (graphicsInfo->paletteSlot == PALSLOT_NPC_SPECIAL) LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); - } else - { PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); - } UpdateSpritePaletteWithWeather(paletteIndex); } } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 948d812e81..57f8cc52e4 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1136,7 +1136,7 @@ static void Task_OrbEffect(u8 taskId) SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7)); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR); SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ); - SetBgTilemapPalette(0, 0, 0, 0x1E, 0x14, 0xF); + SetBgTilemapPalette(0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF); ScheduleBgCopyTilemapToVram(0); SetOrbFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], tCenterX, tCenterY, 1); CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480); diff --git a/src/field_specials.c b/src/field_specials.c index ac9c5d58cc..b73a418212 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1202,7 +1202,7 @@ void IsGrassTypeInParty(void) if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG)) { species = GetMonData(pokemon, MON_DATA_SPECIES); - if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS) + if (gSpeciesInfo[species].type1 == TYPE_GRASS || gSpeciesInfo[species].type2 == TYPE_GRASS) { gSpecialVar_Result = TRUE; return; @@ -2542,9 +2542,9 @@ static void InitScrollableMultichoice(void) gScrollableMultichoice_ListMenuTemplate.cursorShadowPal = 3; gScrollableMultichoice_ListMenuTemplate.lettersSpacing = 0; gScrollableMultichoice_ListMenuTemplate.itemVerticalPadding = 0; - gScrollableMultichoice_ListMenuTemplate.scrollMultiple = 0; + gScrollableMultichoice_ListMenuTemplate.scrollMultiple = LIST_NO_MULTIPLE_SCROLL; gScrollableMultichoice_ListMenuTemplate.fontId = FONT_NORMAL; - gScrollableMultichoice_ListMenuTemplate.cursorKind = 0; + gScrollableMultichoice_ListMenuTemplate.cursorKind = CURSOR_BLACK_ARROW; } static void ScrollableMultichoice_MoveCursor(s32 itemIndex, bool8 onInit, struct ListMenu *list) @@ -2925,7 +2925,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) { case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1: AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor1Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - if (sFrontierExchangeCorner_Decor1[selection] == 0xFFFF) + if (sFrontierExchangeCorner_Decor1[selection] == ITEM_LIST_END) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor1[selection]); } @@ -2938,7 +2938,7 @@ static void FillFrontierExchangeCornerWindowAndItemIcon(u16 menu, u16 selection) break; case SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2: AddTextPrinterParameterized2(0, FONT_NORMAL, sFrontierExchangeCorner_Decor2Descriptions[selection], 0, NULL, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_WHITE, TEXT_COLOR_LIGHT_GRAY); - if (sFrontierExchangeCorner_Decor2[selection] == 0xFFFF) + if (sFrontierExchangeCorner_Decor2[selection] == ITEM_LIST_END) { ShowFrontierExchangeCornerItemIcon(sFrontierExchangeCorner_Decor2[selection]); } diff --git a/src/field_weather.c b/src/field_weather.c index f7a7f81291..891dbb1d1b 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -21,9 +21,9 @@ enum { - GAMMA_NONE, - GAMMA_NORMAL, - GAMMA_ALT, + COLOR_MAP_NONE, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, }; struct RGBColor @@ -33,11 +33,6 @@ struct RGBColor u16 b:5; }; -struct WeatherPaletteData -{ - u16 gammaShiftColors[8][0x1000]; // 0x1000 is the number of bytes that make up all palettes. -}; - struct WeatherCallbacks { void (*initVars)(void); @@ -48,11 +43,11 @@ struct WeatherCallbacks // This file's functions. static bool8 LightenSpritePaletteInFog(u8); -static void BuildGammaShiftTables(void); -static void UpdateWeatherGammaShift(void); -static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex); -static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor); -static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor); +static void BuildColorMaps(void); +static void UpdateWeatherColorMap(void); +static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex); +static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u16 blendColor); +static void ApplyDroughtColorMapWithBlend(s8 colorMapIndex, u8 blendCoeff, u16 blendColor); static void ApplyFogBlend(u8 blendCoeff, u16 blendColor); static bool8 FadeInScreen_RainShowShade(void); static bool8 FadeInScreen_Drought(void); @@ -66,9 +61,9 @@ static void None_Main(void); static u8 None_Finish(void); EWRAM_DATA struct Weather gWeather = {0}; -EWRAM_DATA static u8 sFieldEffectPaletteGammaTypes[32] = {0}; +EWRAM_DATA static u8 sFieldEffectPaletteColorMapTypes[32] = {0}; -static const u8 *sPaletteGammaTypes; +static const u8 *sPaletteColorMapTypes; // The drought weather effect uses a precalculated color lookup table. Presumably this // is because the underlying color shift calculation is slow. @@ -108,50 +103,50 @@ static const struct WeatherCallbacks sWeatherFuncs[] = void (*const gWeatherPalStateFuncs[])(void) = { - [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherGammaShift, + [WEATHER_PAL_STATE_CHANGING_WEATHER] = UpdateWeatherColorMap, [WEATHER_PAL_STATE_SCREEN_FADING_IN] = FadeInScreenWithWeather, [WEATHER_PAL_STATE_SCREEN_FADING_OUT] = DoNothing, [WEATHER_PAL_STATE_IDLE] = DoNothing, }; -// This table specifies which of the gamma shift tables should be +// This table specifies which of the color maps should be // applied to each of the background and sprite palettes. -static const u8 sBasePaletteGammaTypes[32] = +static const u8 sBasePaletteColorMapTypes[32] = { // background palettes - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NONE, - GAMMA_NONE, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_NONE, + COLOR_MAP_NONE, // sprite palettes - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_ALT, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, - GAMMA_NORMAL, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, + COLOR_MAP_DARK_CONTRAST, }; const u16 gFogPalette[] = INCBIN_U16("graphics/weather/fog.gbapal"); @@ -160,10 +155,10 @@ void StartWeather(void) { if (!FuncIsActiveTask(Task_WeatherMain)) { - u8 index = AllocSpritePalette(TAG_WEATHER_START); + u8 index = AllocSpritePalette(PALTAG_WEATHER); CpuCopy32(gFogPalette, &gPlttBufferUnfaded[0x100 + index * 16], 32); - BuildGammaShiftTables(); - gWeatherPtr->altGammaSpritePalIndex = index; + BuildColorMaps(); + gWeatherPtr->contrastColorMapSpritePalIndex = index; gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2); gWeatherPtr->rainSpriteCount = 0; gWeatherPtr->curRainSpriteIndex = 0; @@ -238,7 +233,7 @@ static void Task_WeatherMain(u8 taskId) { // Finished cleaning up previous weather. Now transition to next weather. sWeatherFuncs[gWeatherPtr->nextWeather].initVars(); - gWeatherPtr->gammaStepFrameCounter = 0; + gWeatherPtr->colorMapStepCounter = 0; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER; gWeatherPtr->currWeather = gWeatherPtr->nextWeather; gWeatherPtr->weatherChangeComplete = TRUE; @@ -254,8 +249,8 @@ static void Task_WeatherMain(u8 taskId) static void None_Init(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 0; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 0; } static void None_Main(void) @@ -267,70 +262,82 @@ static u8 None_Finish(void) return 0; } -// Builds two tables that contain gamma shifts for palette colors. +// Builds two tables that contain color maps, used for directly transforming +// palette colors in weather effects. The colors maps are a spectrum of +// brightness + contrast mappings. By transitioning between the maps, weather +// effects like lightning are created. // It's unclear why the two tables aren't declared as const arrays, since // this function always builds the same two tables. -static void BuildGammaShiftTables(void) +static void BuildColorMaps(void) { - u16 v0; - u8 (*gammaTable)[32]; - u16 v2; - u16 v4; - u16 v5; - u16 gammaIndex; - u16 v9; - u32 v10; - u16 v11; - s16 dunno; + u16 i; + u8 (*colorMaps)[32]; + u16 colorVal; + u16 curBrightness; + u16 brightnessDelta; + u16 colorMapIndex; + u16 baseBrightness; + u32 remainingBrightness; + s16 diff; - sPaletteGammaTypes = sBasePaletteGammaTypes; - for (v0 = 0; v0 <= 1; v0++) + sPaletteColorMapTypes = sBasePaletteColorMapTypes; + for (i = 0; i < 2; i++) { - if (v0 == 0) - gammaTable = gWeatherPtr->gammaShifts; + if (i == 0) + colorMaps = gWeatherPtr->darkenedContrastColorMaps; else - gammaTable = gWeatherPtr->altGammaShifts; + colorMaps = gWeatherPtr->contrastColorMaps; - for (v2 = 0; v2 < 32; v2++) + for (colorVal = 0; colorVal < 32; colorVal++) { - v4 = v2 << 8; - if (v0 == 0) - v5 = (v2 << 8) / 16; + curBrightness = colorVal << 8; + if (i == 0) + brightnessDelta = (colorVal << 8) / 16; else - v5 = 0; - for (gammaIndex = 0; gammaIndex <= 2; gammaIndex++) + brightnessDelta = 0; + + // First three color mappings are simple brightness modifiers which are + // progressively darker, according to brightnessDelta. + for (colorMapIndex = 0; colorMapIndex < 3; colorMapIndex++) { - v4 = (v4 - v5); - gammaTable[gammaIndex][v2] = v4 >> 8; + curBrightness -= brightnessDelta; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; } - v9 = v4; - v10 = 0x1f00 - v4; - if ((0x1f00 - v4) < 0) + + baseBrightness = curBrightness; + remainingBrightness = 0x1f00 - curBrightness; + if ((0x1f00 - curBrightness) < 0) + remainingBrightness += 0xf; + + brightnessDelta = remainingBrightness / (NUM_WEATHER_COLOR_MAPS - 3); + if (colorVal < 12) { - v10 += 0xf; - } - v11 = v10 >> 4; - if (v2 < 12) - { - for (; gammaIndex < 19; gammaIndex++) + // For shadows (color values < 12), the remaining color mappings are + // brightness modifiers, which are increased at a significantly lower rate + // than the midtones and highlights (color values >= 12). This creates a + // high contrast effect, used in the thunderstorm weather. + for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) { - v4 += v11; - dunno = v4 - v9; - if (dunno > 0) - v4 -= (dunno + ((u16)dunno >> 15)) >> 1; - gammaTable[gammaIndex][v2] = v4 >> 8; - if (gammaTable[gammaIndex][v2] > 0x1f) - gammaTable[gammaIndex][v2] = 0x1f; + curBrightness += brightnessDelta; + diff = curBrightness - baseBrightness; + if (diff > 0) + curBrightness -= diff / 2; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; + if (colorMaps[colorMapIndex][colorVal] > 31) + colorMaps[colorMapIndex][colorVal] = 31; } } else { - for (; gammaIndex < 19; gammaIndex++) + // For midtones and highlights (color values >= 12), the remaining + // color mappings are simple brightness modifiers which are + // progressively brighter, hitting exactly 31 at the last mapping. + for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) { - v4 += v11; - gammaTable[gammaIndex][v2] = v4 >> 8; - if (gammaTable[gammaIndex][v2] > 0x1f) - gammaTable[gammaIndex][v2] = 0x1f; + curBrightness += brightnessDelta; + colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; + if (colorMaps[colorMapIndex][colorVal] > 31) + colorMaps[colorMapIndex][colorVal] = 31; } } } @@ -338,26 +345,26 @@ static void BuildGammaShiftTables(void) } // When the weather is changing, it gradually updates the palettes -// towards the desired gamma shift. -static void UpdateWeatherGammaShift(void) +// towards the desired color map. +static void UpdateWeatherColorMap(void) { if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT) { - if (gWeatherPtr->gammaIndex == gWeatherPtr->gammaTargetIndex) + if (gWeatherPtr->colorMapIndex == gWeatherPtr->targetColorMapIndex) { gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } else { - if (++gWeatherPtr->gammaStepFrameCounter >= gWeatherPtr->gammaStepDelay) + if (++gWeatherPtr->colorMapStepCounter >= gWeatherPtr->colorMapStepDelay) { - gWeatherPtr->gammaStepFrameCounter = 0; - if (gWeatherPtr->gammaIndex < gWeatherPtr->gammaTargetIndex) - gWeatherPtr->gammaIndex++; + gWeatherPtr->colorMapStepCounter = 0; + if (gWeatherPtr->colorMapIndex < gWeatherPtr->targetColorMapIndex) + gWeatherPtr->colorMapIndex++; else - gWeatherPtr->gammaIndex--; + gWeatherPtr->colorMapIndex--; - ApplyGammaShift(0, 32, gWeatherPtr->gammaIndex); + ApplyColorMap(0, 32, gWeatherPtr->colorMapIndex); } } } @@ -377,21 +384,21 @@ static void FadeInScreenWithWeather(void) case WEATHER_SHADE: if (FadeInScreen_RainShowShade() == FALSE) { - gWeatherPtr->gammaIndex = 3; + gWeatherPtr->colorMapIndex = 3; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; case WEATHER_DROUGHT: if (FadeInScreen_Drought() == FALSE) { - gWeatherPtr->gammaIndex = -6; + gWeatherPtr->colorMapIndex = -6; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; case WEATHER_FOG_HORIZONTAL: if (FadeInScreen_FogHorizontal() == FALSE) { - gWeatherPtr->gammaIndex = 0; + gWeatherPtr->colorMapIndex = 0; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; @@ -402,7 +409,7 @@ static void FadeInScreenWithWeather(void) default: if (!gPaletteFade.active) { - gWeatherPtr->gammaIndex = gWeatherPtr->gammaTargetIndex; + gWeatherPtr->colorMapIndex = gWeatherPtr->targetColorMapIndex; gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; @@ -416,12 +423,12 @@ static bool8 FadeInScreen_RainShowShade(void) if (++gWeatherPtr->fadeScreenCounter >= 16) { - ApplyGammaShift(0, 32, 3); + ApplyColorMap(0, 32, 3); gWeatherPtr->fadeScreenCounter = 16; return FALSE; } - ApplyGammaShiftWithBlend(0, 32, 3, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); + ApplyColorMapWithBlend(0, 32, 3, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); return TRUE; } @@ -432,12 +439,12 @@ static bool8 FadeInScreen_Drought(void) if (++gWeatherPtr->fadeScreenCounter >= 16) { - ApplyGammaShift(0, 32, -6); + ApplyColorMap(0, 32, -6); gWeatherPtr->fadeScreenCounter = 16; return FALSE; } - ApplyDroughtGammaShiftWithBlend(-6, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); + ApplyDroughtColorMapWithBlend(-6, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor); return TRUE; } @@ -454,24 +461,24 @@ static bool8 FadeInScreen_FogHorizontal(void) static void DoNothing(void) { } -static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) +static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) { u16 curPalIndex; u16 palOffset; - u8 *gammaTable; + u8 *colorMap; u16 i; - if (gammaIndex > 0) + if (colorMapIndex > 0) { - gammaIndex--; + colorMapIndex--; palOffset = startPalIndex * 16; numPalettes += startPalIndex; curPalIndex = startPalIndex; - // Loop through the speficied palette range and apply necessary gamma shifts to the colors. + // Loop through the specified palette range and apply necessary color maps. while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { // No palette change. CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); @@ -481,18 +488,18 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) { u8 r, g, b; - if (sPaletteGammaTypes[curPalIndex] == GAMMA_ALT || curPalIndex - 16 == gWeatherPtr->altGammaSpritePalIndex) - gammaTable = gWeatherPtr->altGammaShifts[gammaIndex]; + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_CONTRAST || curPalIndex - 16 == gWeatherPtr->contrastColorMapSpritePalIndex) + colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; else - gammaTable = gWeatherPtr->gammaShifts[gammaIndex]; + colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { - // Apply gamma shift to the original color. + // Apply color map to the original color. struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - r = gammaTable[baseColor.r]; - g = gammaTable[baseColor.g]; - b = gammaTable[baseColor.b]; + r = colorMap[baseColor.r]; + g = colorMap[baseColor.g]; + b = colorMap[baseColor.b]; gPlttBufferFaded[palOffset++] = RGB2(r, g, b); } } @@ -500,17 +507,17 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) curPalIndex++; } } - else if (gammaIndex < 0) + else if (colorMapIndex < 0) { // A negative gammIndex value means that the blending will come from the special Drought weather's palette tables. - gammaIndex = -gammaIndex - 1; + colorMapIndex = -colorMapIndex - 1; palOffset = startPalIndex * 16; numPalettes += startPalIndex; curPalIndex = startPalIndex; while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { // No palette change. CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); @@ -520,7 +527,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) { for (i = 0; i < 16; i++) { - gPlttBufferFaded[palOffset] = sDroughtWeatherColors[gammaIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])]; + gPlttBufferFaded[palOffset] = sDroughtWeatherColors[colorMapIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])]; palOffset++; } } @@ -535,7 +542,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex) } } -static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor) +static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u16 blendColor) { u16 palOffset; u16 curPalIndex; @@ -547,34 +554,34 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI palOffset = startPalIndex * 16; numPalettes += startPalIndex; - gammaIndex--; + colorMapIndex--; curPalIndex = startPalIndex; while (curPalIndex < numPalettes) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { - // No gamma shift. Simply blend the colors. + // No color map. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); palOffset += 16; } else { - u8 *gammaTable; + u8 *colorMap; - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NORMAL) - gammaTable = gWeatherPtr->gammaShifts[gammaIndex]; + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_DARK_CONTRAST) + colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; else - gammaTable = gWeatherPtr->altGammaShifts[gammaIndex]; + colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - u8 r = gammaTable[baseColor.r]; - u8 g = gammaTable[baseColor.g]; - u8 b = gammaTable[baseColor.b]; + u8 r = colorMap[baseColor.r]; + u8 g = colorMap[baseColor.g]; + u8 b = colorMap[baseColor.b]; - // Apply gamma shift and target blend color to the original color. + // Apply color map and target blend color to the original color. r += ((rBlend - r) * blendCoeff) >> 4; g += ((gBlend - g) * blendCoeff) >> 4; b += ((bBlend - b) * blendCoeff) >> 4; @@ -586,7 +593,7 @@ static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaI } } -static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor) +static void ApplyDroughtColorMapWithBlend(s8 colorMapIndex, u8 blendCoeff, u16 blendColor) { struct RGBColor color; u8 rBlend; @@ -596,7 +603,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl u16 palOffset; u16 i; - gammaIndex = -gammaIndex - 1; + colorMapIndex = -colorMapIndex - 1; color = *(struct RGBColor *)&blendColor; rBlend = color.r; gBlend = color.g; @@ -604,9 +611,9 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl palOffset = 0; for (curPalIndex = 0; curPalIndex < 32; curPalIndex++) { - if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE) + if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_NONE) { - // No gamma shift. Simply blend the colors. + // No color map. Simply blend the colors. BlendPalette(palOffset, 16, blendCoeff, blendColor); palOffset += 16; } @@ -626,7 +633,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl b1 = color1.b; offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1); - color2 = *(struct RGBColor *)&sDroughtWeatherColors[gammaIndex][offset]; + color2 = *(struct RGBColor *)&sDroughtWeatherColors[colorMapIndex][offset]; r2 = color2.r; g2 = color2.g; b2 = color2.b; @@ -710,25 +717,25 @@ static bool8 LightenSpritePaletteInFog(u8 paletteIndex) return FALSE; } -void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex) +void ApplyWeatherColorMapIfIdle(s8 colorMapIndex) { if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { - ApplyGammaShift(0, 32, gammaIndex); - gWeatherPtr->gammaIndex = gammaIndex; + ApplyColorMap(0, 32, colorMapIndex); + gWeatherPtr->colorMapIndex = colorMapIndex; } } -void ApplyWeatherGammaShiftIfIdle_Gradual(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay) +void ApplyWeatherColorMapIfIdle_Gradual(u8 colorMapIndex, u8 targetColorMapIndex, u8 colorMapStepDelay) { if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER; - gWeatherPtr->gammaIndex = gammaIndex; - gWeatherPtr->gammaTargetIndex = gammaTargetIndex; - gWeatherPtr->gammaStepFrameCounter = 0; - gWeatherPtr->gammaStepDelay = gammaStepDelay; - ApplyWeatherGammaShiftIfIdle(gammaIndex); + gWeatherPtr->colorMapIndex = colorMapIndex; + gWeatherPtr->targetColorMapIndex = targetColorMapIndex; + gWeatherPtr->colorMapStepCounter = 0; + gWeatherPtr->colorMapStepDelay = colorMapStepDelay; + ApplyWeatherColorMapIfIdle(colorMapIndex); } } @@ -832,7 +839,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) default: if (gWeatherPtr->currWeather != WEATHER_FOG_HORIZONTAL) { - ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex); + ApplyColorMap(paletteIndex, 1, gWeatherPtr->colorMapIndex); } else { @@ -843,9 +850,9 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) } } -void ApplyWeatherGammaShiftToPal(u8 paletteIndex) +void ApplyWeatherColorMapToPal(u8 paletteIndex) { - ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex); + ApplyColorMap(paletteIndex, 1, gWeatherPtr->colorMapIndex); } // Unused @@ -886,9 +893,9 @@ bool8 LoadDroughtWeatherPalettes(void) return FALSE; } -static void SetDroughtGamma(s8 gammaIndex) +static void SetDroughtColorMap(s8 colorMapIndex) { - ApplyWeatherGammaShiftIfIdle(-gammaIndex - 1); + ApplyWeatherColorMapIfIdle(-colorMapIndex - 1); } void DroughtStateInit(void) @@ -907,7 +914,7 @@ void DroughtStateRun(void) if (++gWeatherPtr->droughtTimer > 5) { gWeatherPtr->droughtTimer = 0; - SetDroughtGamma(gWeatherPtr->droughtBrightnessStage++); + SetDroughtColorMap(gWeatherPtr->droughtBrightnessStage++); if (gWeatherPtr->droughtBrightnessStage > 5) { gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage; @@ -920,14 +927,14 @@ void DroughtStateRun(void) gWeatherPtr->droughtTimer = (gWeatherPtr->droughtTimer + 3) & 0x7F; gWeatherPtr->droughtBrightnessStage = ((gSineTable[gWeatherPtr->droughtTimer] - 1) >> 6) + 2; if (gWeatherPtr->droughtBrightnessStage != gWeatherPtr->droughtLastBrightnessStage) - SetDroughtGamma(gWeatherPtr->droughtBrightnessStage); + SetDroughtColorMap(gWeatherPtr->droughtBrightnessStage); gWeatherPtr->droughtLastBrightnessStage = gWeatherPtr->droughtBrightnessStage; break; case 2: if (++gWeatherPtr->droughtTimer > 5) { gWeatherPtr->droughtTimer = 0; - SetDroughtGamma(--gWeatherPtr->droughtBrightnessStage); + SetDroughtColorMap(--gWeatherPtr->droughtBrightnessStage); if (gWeatherPtr->droughtBrightnessStage == 3) gWeatherPtr->droughtState = 0; } @@ -1093,12 +1100,12 @@ void SetWeatherPalStateIdle(void) void PreservePaletteInWeather(u8 preservedPalIndex) { - CpuCopy16(sBasePaletteGammaTypes, sFieldEffectPaletteGammaTypes, 32); - sFieldEffectPaletteGammaTypes[preservedPalIndex] = GAMMA_NONE; - sPaletteGammaTypes = sFieldEffectPaletteGammaTypes; + CpuCopy16(sBasePaletteColorMapTypes, sFieldEffectPaletteColorMapTypes, 32); + sFieldEffectPaletteColorMapTypes[preservedPalIndex] = COLOR_MAP_NONE; + sPaletteColorMapTypes = sFieldEffectPaletteColorMapTypes; } void ResetPreservedPalettesInWeather(void) { - sPaletteGammaTypes = sBasePaletteGammaTypes; + sPaletteColorMapTypes = sBasePaletteColorMapTypes; } diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index f5769cc230..05eae421e0 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -94,8 +94,8 @@ static const struct SpriteTemplate sCloudSpriteTemplate = void Clouds_InitVars(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->initStep = 0; if (gWeatherPtr->cloudSpritesCreated == FALSE) @@ -152,8 +152,8 @@ bool8 Clouds_Finish(void) void Sunny_InitVars(void) { - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; } void Sunny_InitAll(void) @@ -235,8 +235,8 @@ void Drought_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 0; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 0; } void Drought_InitAll(void) @@ -476,8 +476,8 @@ void Rain_InitVars(void) gWeatherPtr->rainSpriteVisibleDelay = 8; gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 10; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; SetRainStrengthFromSoundEffect(SE_RAIN); } @@ -768,8 +768,8 @@ void Snow_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->targetSnowflakeSpriteCount = 16; gWeatherPtr->snowflakeVisibleCounter = 0; } @@ -1014,38 +1014,38 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite) enum { // This block of states is run only once // when first setting up the thunderstorm - TSTORM_STATE_LOAD_RAIN, - TSTORM_STATE_CREATE_RAIN, - TSTORM_STATE_INIT_RAIN, - TSTORM_STATE_WAIT_CHANGE, + THUNDER_STATE_LOAD_RAIN, + THUNDER_STATE_CREATE_RAIN, + THUNDER_STATE_INIT_RAIN, + THUNDER_STATE_WAIT_CHANGE, // The thunderstorm loops through these states, // not necessarily in order. - TSTORM_STATE_LOOP_START, - TSTORM_STATE_LOOP_WAIT, - TSTORM_STATE_INIT_THUNDER_SHORT_1, - TSTORM_STATE_INIT_THUNDER_SHORT_2, - TSTORM_STATE_TRY_THUNDER_SHORT, - TSTORM_STATE_TRY_NEW_THUNDER, - TSTORM_STATE_WAIT_THUNDER_SHORT, - TSTORM_STATE_INIT_THUNDER_LONG, - TSTORM_STATE_WAIT_THUNDER_LONG, - TSTORM_STATE_FADE_THUNDER_LONG, - TSTORM_STATE_END_THUNDER_LONG, + THUNDER_STATE_NEW_CYCLE, + THUNDER_STATE_NEW_CYCLE_WAIT, + THUNDER_STATE_INIT_CYCLE_1, + THUNDER_STATE_INIT_CYCLE_2, + THUNDER_STATE_SHORT_BOLT, + THUNDER_STATE_TRY_NEW_BOLT, + THUNDER_STATE_WAIT_BOLT_SHORT, + THUNDER_STATE_INIT_BOLT_LONG, + THUNDER_STATE_WAIT_BOLT_LONG, + THUNDER_STATE_FADE_BOLT_LONG, + THUNDER_STATE_END_BOLT_LONG, }; void Thunderstorm_InitVars(void) { - gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN; + gWeatherPtr->initStep = THUNDER_STATE_LOAD_RAIN; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; gWeatherPtr->isDownpour = FALSE; gWeatherPtr->targetRainSpriteCount = 16; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment - gWeatherPtr->thunderTriggered = FALSE; + gWeatherPtr->thunderEnqueued = FALSE; SetRainStrengthFromSoundEffect(SE_THUNDERSTORM); } @@ -1061,18 +1061,18 @@ void Thunderstorm_InitAll(void) //------------------------------------------------------------------------------ static void UpdateThunderSound(void); -static void SetThunderCounter(u16); +static void EnqueueThunder(u16); void Downpour_InitVars(void) { - gWeatherPtr->initStep = TSTORM_STATE_LOAD_RAIN; + gWeatherPtr->initStep = THUNDER_STATE_LOAD_RAIN; gWeatherPtr->weatherGfxLoaded = FALSE; gWeatherPtr->rainSpriteVisibleCounter = 0; gWeatherPtr->rainSpriteVisibleDelay = 4; gWeatherPtr->isDownpour = TRUE; gWeatherPtr->targetRainSpriteCount = 24; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment SetRainStrengthFromSoundEffect(SE_DOWNPOUR); } @@ -1084,110 +1084,119 @@ void Downpour_InitAll(void) Thunderstorm_Main(); } +// In a given cycle, there will be some shorter bolts of lightning, potentially +// followed by a longer bolt. As a "regex", the pattern is: +// (SHORT_BOLT){1,2}(LONG_BOLT)? +// +// Thunder only plays on the final bolt of the cycle. void Thunderstorm_Main(void) { UpdateThunderSound(); switch (gWeatherPtr->initStep) { - case TSTORM_STATE_LOAD_RAIN: + case THUNDER_STATE_LOAD_RAIN: LoadRainSpriteSheet(); gWeatherPtr->initStep++; break; - case TSTORM_STATE_CREATE_RAIN: + case THUNDER_STATE_CREATE_RAIN: if (!CreateRainSprite()) gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_RAIN: + case THUNDER_STATE_INIT_RAIN: if (!UpdateVisibleRainSprites()) { gWeatherPtr->weatherGfxLoaded = TRUE; gWeatherPtr->initStep++; } break; - case TSTORM_STATE_WAIT_CHANGE: + case THUNDER_STATE_WAIT_CHANGE: if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER) - gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_SHORT_1; + gWeatherPtr->initStep = THUNDER_STATE_INIT_CYCLE_1; break; - case TSTORM_STATE_LOOP_START: + case THUNDER_STATE_NEW_CYCLE: gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->thunderDelay = (Random() % 360) + 360; + gWeatherPtr->thunderTimer = (Random() % 360) + 360; gWeatherPtr->initStep++; // fall through - case TSTORM_STATE_LOOP_WAIT: - // Wait between 360-720 frames before trying thunder again - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_NEW_CYCLE_WAIT: + // Wait between 360-720 frames before starting a new cycle. + if (--gWeatherPtr->thunderTimer == 0) gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_THUNDER_SHORT_1: + case THUNDER_STATE_INIT_CYCLE_1: gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->thunderSkipShort = Random() % 2; + gWeatherPtr->thunderLongBolt = Random() % 2; gWeatherPtr->initStep++; break; - case TSTORM_STATE_INIT_THUNDER_SHORT_2: - gWeatherPtr->thunderShortRetries = (Random() & 1) + 1; + case THUNDER_STATE_INIT_CYCLE_2: + gWeatherPtr->thunderShortBolts = (Random() & 1) + 1; gWeatherPtr->initStep++; // fall through - case TSTORM_STATE_TRY_THUNDER_SHORT: - ApplyWeatherGammaShiftIfIdle(19); - if (!gWeatherPtr->thunderSkipShort && gWeatherPtr->thunderShortRetries == 1) - SetThunderCounter(20); // Do short thunder + case THUNDER_STATE_SHORT_BOLT: + // Short bolt of lightning strikes. + ApplyWeatherColorMapIfIdle(19); + // If final lightning bolt, enqueue thunder. + if (!gWeatherPtr->thunderLongBolt && gWeatherPtr->thunderShortBolts == 1) + EnqueueThunder(20); - gWeatherPtr->thunderDelay = (Random() % 3) + 6; + gWeatherPtr->thunderTimer = (Random() % 3) + 6; gWeatherPtr->initStep++; break; - case TSTORM_STATE_TRY_NEW_THUNDER: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_TRY_NEW_BOLT: + if (--gWeatherPtr->thunderTimer == 0) { - ApplyWeatherGammaShiftIfIdle(3); + // Short bolt of lightning ends. + ApplyWeatherColorMapIfIdle(3); gWeatherPtr->thunderAllowEnd = TRUE; - if (--gWeatherPtr->thunderShortRetries != 0) + if (--gWeatherPtr->thunderShortBolts != 0) { - // Try a short thunder again - gWeatherPtr->thunderDelay = (Random() % 16) + 60; - gWeatherPtr->initStep = TSTORM_STATE_WAIT_THUNDER_SHORT; + // Wait a little, then do another short bolt. + gWeatherPtr->thunderTimer = (Random() % 16) + 60; + gWeatherPtr->initStep = THUNDER_STATE_WAIT_BOLT_SHORT; } - else if (!gWeatherPtr->thunderSkipShort) + else if (!gWeatherPtr->thunderLongBolt) { - // No more thunder, restart loop - gWeatherPtr->initStep = TSTORM_STATE_LOOP_START; + // No more bolts, restart loop. + gWeatherPtr->initStep = THUNDER_STATE_NEW_CYCLE; } else { - // Set up long thunder - gWeatherPtr->initStep = TSTORM_STATE_INIT_THUNDER_LONG; + // Set up long bolt. + gWeatherPtr->initStep = THUNDER_STATE_INIT_BOLT_LONG; } } break; - case TSTORM_STATE_WAIT_THUNDER_SHORT: - if (--gWeatherPtr->thunderDelay == 0) - gWeatherPtr->initStep = TSTORM_STATE_TRY_THUNDER_SHORT; + case THUNDER_STATE_WAIT_BOLT_SHORT: + if (--gWeatherPtr->thunderTimer == 0) + gWeatherPtr->initStep = THUNDER_STATE_SHORT_BOLT; break; - case TSTORM_STATE_INIT_THUNDER_LONG: - gWeatherPtr->thunderDelay = (Random() % 16) + 60; + case THUNDER_STATE_INIT_BOLT_LONG: + gWeatherPtr->thunderTimer = (Random() % 16) + 60; gWeatherPtr->initStep++; break; - case TSTORM_STATE_WAIT_THUNDER_LONG: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_WAIT_BOLT_LONG: + if (--gWeatherPtr->thunderTimer == 0) { - // Do long thunder - SetThunderCounter(100); - ApplyWeatherGammaShiftIfIdle(19); - gWeatherPtr->thunderDelay = (Random() & 0xF) + 30; + // Do long bolt. Enqueue thunder with a potentially longer delay. + EnqueueThunder(100); + ApplyWeatherColorMapIfIdle(19); + gWeatherPtr->thunderTimer = (Random() & 0xF) + 30; gWeatherPtr->initStep++; } break; - case TSTORM_STATE_FADE_THUNDER_LONG: - if (--gWeatherPtr->thunderDelay == 0) + case THUNDER_STATE_FADE_BOLT_LONG: + if (--gWeatherPtr->thunderTimer == 0) { - ApplyWeatherGammaShiftIfIdle_Gradual(19, 3, 5); + // Fade long bolt out over time. + ApplyWeatherColorMapIfIdle_Gradual(19, 3, 5); gWeatherPtr->initStep++; } break; - case TSTORM_STATE_END_THUNDER_LONG: + case THUNDER_STATE_END_BOLT_LONG: if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE) { gWeatherPtr->thunderAllowEnd = TRUE; - gWeatherPtr->initStep = TSTORM_STATE_LOOP_START; + gWeatherPtr->initStep = THUNDER_STATE_NEW_CYCLE; } break; } @@ -1218,7 +1227,7 @@ bool8 Thunderstorm_Finish(void) if (!UpdateVisibleRainSprites()) { DestroyRainSprites(); - gWeatherPtr->thunderTriggered = 0; + gWeatherPtr->thunderEnqueued = FALSE; gWeatherPtr->finishStep++; return FALSE; } @@ -1229,20 +1238,21 @@ bool8 Thunderstorm_Finish(void) return TRUE; } -static void SetThunderCounter(u16 max) +// Enqueue a thunder sound effect for at most `waitFrames` frames from now. +static void EnqueueThunder(u16 waitFrames) { - if (!gWeatherPtr->thunderTriggered) + if (!gWeatherPtr->thunderEnqueued) { - gWeatherPtr->thunderCounter = Random() % max; - gWeatherPtr->thunderTriggered = TRUE; + gWeatherPtr->thunderSETimer = Random() % waitFrames; + gWeatherPtr->thunderEnqueued = TRUE; } } static void UpdateThunderSound(void) { - if (gWeatherPtr->thunderTriggered == TRUE) + if (gWeatherPtr->thunderEnqueued == TRUE) { - if (gWeatherPtr->thunderCounter == 0) + if (gWeatherPtr->thunderSETimer == 0) { if (IsSEPlaying()) return; @@ -1252,11 +1262,11 @@ static void UpdateThunderSound(void) else PlaySE(SE_THUNDER2); - gWeatherPtr->thunderTriggered = FALSE; + gWeatherPtr->thunderEnqueued = FALSE; } else { - gWeatherPtr->thunderCounter--; + gWeatherPtr->thunderSETimer--; } } } @@ -1361,8 +1371,8 @@ void FogHorizontal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; if (gWeatherPtr->fogHSpritesCreated == 0) { gWeatherPtr->fogHScrollCounter = 0; @@ -1516,8 +1526,8 @@ void Ash_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->ashUnused = 20; // Never read if (!gWeatherPtr->ashSpritesCreated) { @@ -1726,8 +1736,8 @@ void FogDiagonal_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->fogHScrollCounter = 0; gWeatherPtr->fogHScrollOffset = 1; if (!gWeatherPtr->fogDSpritesCreated) @@ -1940,8 +1950,8 @@ void Sandstorm_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = 0; - gWeatherPtr->gammaTargetIndex = 0; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 0; + gWeatherPtr->colorMapStepDelay = 20; if (!gWeatherPtr->sandstormSpritesCreated) { gWeatherPtr->sandstormXOffset = gWeatherPtr->sandstormYOffset = 0; @@ -2237,8 +2247,8 @@ static void UpdateSandstormSwirlSprite(struct Sprite *sprite) void Shade_InitVars(void) { gWeatherPtr->initStep = 0; - gWeatherPtr->gammaTargetIndex = 3; - gWeatherPtr->gammaStepDelay = 20; + gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->colorMapStepDelay = 20; } void Shade_InitAll(void) diff --git a/src/fieldmap.c b/src/fieldmap.c index bcd2d1019a..fa82a983ff 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -406,7 +406,7 @@ void MapGridSetMetatileEntryAt(int x, int y, u16 metatile) u16 GetMetatileAttributesById(u16 metatile) { - u16 *attributes; + const u16 *attributes; if (metatile < NUM_METATILES_IN_PRIMARY) { attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; @@ -880,17 +880,17 @@ void LoadTilesetPalette(struct Tileset const *tileset, u16 destOffset, u16 size) if (tileset->isSecondary == FALSE) { LoadPalette(&black, destOffset, 2); - LoadPalette(((u16 *)tileset->palettes) + 1, destOffset + 1, size - 2); + LoadPalette(tileset->palettes[0] + 1, destOffset + 1, size - 2); ApplyGlobalTintToPaletteEntries(destOffset + 1, (size - 2) >> 1); } else if (tileset->isSecondary == TRUE) { - LoadPalette(((u16 *)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size); + LoadPalette(tileset->palettes[NUM_PALS_IN_PRIMARY], destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } else { - LoadCompressedPalette((u32 *)tileset->palettes, destOffset, size); + LoadCompressedPalette((const u32 *)tileset->palettes, destOffset, size); ApplyGlobalTintToPaletteEntries(destOffset, size >> 1); } } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 7e93526094..5ed133e5db 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -19,7 +19,6 @@ #include "constants/songs.h" static void FieldCallback_SweetScent(void); -static void StartSweetScentFieldEffect(void); static void TrySweetScentEncounter(u8 taskId); static void FailSweetScentEncounter(u8 taskId); @@ -47,14 +46,15 @@ bool8 FldEff_SweetScent(void) return FALSE; } -static void StartSweetScentFieldEffect(void) +void StartSweetScentFieldEffect(void) { u8 taskId; + u32 palettes = ~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16) | (1 << 13) | (1 << 14) | (1 << 15)); PlaySE(SE_M_SWEET_SCENT); CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100); CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100); - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarSpriteId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED); + BeginNormalPaletteFade(palettes, 4, 0, 8, RGB_RED); taskId = CreateTask(TrySweetScentEncounter, 0); gTasks[taskId].data[0] = 0; FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); diff --git a/src/frontier_pass.c b/src/frontier_pass.c index b143587415..d25cb34cff 100644 --- a/src/frontier_pass.c +++ b/src/frontier_pass.c @@ -760,9 +760,9 @@ static bool32 InitFrontierPass(void) case 7: if (FreeTempTileDataBuffersIfPossible()) return FALSE; - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -1396,9 +1396,9 @@ static bool32 InitFrontierMap(void) SetBgTilemapBuffer(0, sMapData->tilemapBuff0); SetBgTilemapBuffer(1, sMapData->tilemapBuff1); SetBgTilemapBuffer(2, sMapData->tilemapBuff2); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); diff --git a/src/graphics.c b/src/graphics.c index 306f35928f..0126150fd9 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1810,8 +1810,8 @@ const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz"); const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz"); -const u16 gRegionMapCityZoomTiles_Pal[] = INCBIN_U16("graphics/pokenav/zoom_tiles.gbapal"); -const u32 gRegionMapCityZoomText_Gfx[] = INCBIN_U32("graphics/pokenav/city_zoom_text.4bpp.lz"); +const u16 gRegionMapCityZoomTiles_Pal[] = INCBIN_U16("graphics/pokenav/region_map/zoom_tiles.gbapal"); +const u32 gRegionMapCityZoomText_Gfx[] = INCBIN_U32("graphics/pokenav/region_map/city_zoom_text.4bpp.lz"); const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/condition/cancel.gbapal"); const u8 gPokenavConditionCancel_Gfx[] = INCBIN_U8("graphics/pokenav/condition/cancel.4bpp"); diff --git a/src/heal_location.c b/src/heal_location.c index ab8dc52650..0ab5540346 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -13,14 +13,14 @@ u32 GetHealLocationIndexByMap(u16 mapGroup, u16 mapNum) if (sHealLocations[i].group == mapGroup && sHealLocations[i].map == mapNum) return i + 1; } - return 0; + return HEAL_LOCATION_NONE; } const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) { u32 index = GetHealLocationIndexByMap(mapGroup, mapNum); - if (index == 0) + if (index == HEAL_LOCATION_NONE) return NULL; else return &sHealLocations[index - 1]; @@ -28,7 +28,7 @@ const struct HealLocation *GetHealLocationByMap(u16 mapGroup, u16 mapNum) const struct HealLocation *GetHealLocation(u32 index) { - if (index == 0) + if (index == HEAL_LOCATION_NONE) return NULL; else if (index > ARRAY_COUNT(sHealLocations)) return NULL; diff --git a/src/international_string_util.c b/src/international_string_util.c index f71734fa7e..457e3260be 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -133,7 +133,7 @@ void PadNameString(u8 *dest, u8 padChar) while (length < PLAYER_NAME_LENGTH - 1) { dest[length] = EXT_CTRL_CODE_BEGIN; - dest[length + 1] = EXT_CTRL_CODE_RESET_SIZE; + dest[length + 1] = EXT_CTRL_CODE_RESET_FONT; length += 2; } } diff --git a/src/intro.c b/src/intro.c index bc81bcbb6f..de08556e3e 100644 --- a/src/intro.c +++ b/src/intro.c @@ -3322,24 +3322,29 @@ static u8 CreateGameFreakLogoSprites(s16 x, s16 y, s16 unused) #undef sLetterX #undef COLOR_CHANGES +#define sScale data[1] +#define sRot data[2] +#define sPos data[3] +#define sTimer data[7] + static void SpriteCB_FlygonSilhouette(struct Sprite *sprite) { - sprite->data[7]++; + sprite->sTimer++; if (sprite->sState != 0) { - s16 sin1; - s16 sin2; + s16 sin; + s16 cos; s16 a, b, c, d; - - sin1 = gSineTable[(u8)sprite->data[2]]; - sin2 = gSineTable[(u8)(sprite->data[2] + 64)]; - - d = Q_8_8_TO_INT(sin2 * sprite->data[1]); - c = Q_8_8_TO_INT(-sin1 * sprite->data[1]); - b = Q_8_8_TO_INT(sin1 * sprite->data[1]); - a = Q_8_8_TO_INT(sin2 * sprite->data[1]); + // Determines rotation of the sprite + sin = gSineTable[(u8)sprite->sRot]; + cos = gSineTable[(u8)(sprite->sRot + 64)]; + // Converts rotation and scale into the OAM matrix + d = Q_8_8_TO_INT( cos * sprite->sScale); + c = Q_8_8_TO_INT(-sin * sprite->sScale); + b = Q_8_8_TO_INT( sin * sprite->sScale); + a = Q_8_8_TO_INT( cos * sprite->sScale); SetOamMatrix(1, a, b, c, d); } @@ -3353,36 +3358,41 @@ static void SpriteCB_FlygonSilhouette(struct Sprite *sprite) CalcCenterToCornerVec(sprite, SPRITE_SHAPE(64x32), SPRITE_SIZE(64x32), ST_OAM_AFFINE_DOUBLE); sprite->invisible = FALSE; sprite->sState = 1; - sprite->data[1] = 0x80; - sprite->data[2] = 0; - sprite->data[3] = 0; + sprite->sScale = 128; + sprite->sRot = 0; + sprite->sPos = 0; break; case 1: - sprite->x2 = -Sin((u8)sprite->data[3], 140); - sprite->y2 = -Sin((u8)sprite->data[3], 120); - sprite->data[1] += 7; - sprite->data[3] += 3; + sprite->x2 = -Sin((u8)sprite->sPos, 140); + sprite->y2 = -Sin((u8)sprite->sPos, 120); + sprite->sScale += 7; + sprite->sPos += 3; if (sprite->x + sprite->x2 <= -16) { sprite->oam.priority = 3; sprite->sState++; sprite->x = 20; sprite->y = 40; - sprite->data[1] = 0x200; - sprite->data[2] = 0; - sprite->data[3] = 0x10; + sprite->sScale = 512; + sprite->sRot = 0; + sprite->sPos = 16; } break; case 2: - sprite->x2 = Sin((u8)sprite->data[3], 34); - sprite->y2 = -Cos((u8)sprite->data[3], 60); - sprite->data[1] += 2; - if (sprite->data[7] % 5 == 0) - sprite->data[3]++; + sprite->x2 = Sin((u8)sprite->sPos, 34); + sprite->y2 = -Cos((u8)sprite->sPos, 60); + sprite->sScale += 2; + if (sprite->sTimer % 5 == 0) + sprite->sPos++; break; } } +#undef sScale +#undef sRot +#undef sPos +#undef sTimer + static void SpriteCB_RayquazaOrb(struct Sprite *sprite) { u16 foo; diff --git a/src/item.c b/src/item.c index 9099ad871b..18b6242c43 100644 --- a/src/item.c +++ b/src/item.c @@ -880,11 +880,6 @@ const u8 *ItemId_GetName(u16 itemId) return gItems[SanitizeItemId(itemId)].name; } -u16 ItemId_GetId(u16 itemId) -{ - return gItems[SanitizeItemId(itemId)].itemId; -} - u16 ItemId_GetPrice(u16 itemId) { return gItems[SanitizeItemId(itemId)].price; @@ -910,7 +905,7 @@ u8 ItemId_GetImportance(u16 itemId) return gItems[SanitizeItemId(itemId)].importance; } -// unused +// Unused u8 ItemId_GetRegistrability(u16 itemId) { return gItems[SanitizeItemId(itemId)].registrability; diff --git a/src/item_icon.c b/src/item_icon.c index 274ed03b36..fd6f041695 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -159,8 +159,8 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate *customSpriteTemplate, u1 const void *GetItemIconPicOrPalette(u16 itemId, u8 which) { - if (itemId == 0xFFFF) - itemId = ITEM_FIELD_ARROW; + if (itemId == ITEM_LIST_END) + itemId = ITEMS_COUNT; // Use last icon, the "return to field" arrow else if (itemId >= ITEMS_COUNT) itemId = 0; diff --git a/src/item_menu.c b/src/item_menu.c index afd9d3cec6..608e203a62 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -259,9 +259,9 @@ static const struct ListMenuTemplate sItemListMenu = .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NARROW, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct MenuAction sItemMenuActions[] = { @@ -937,7 +937,7 @@ static void BagMenu_MoveCursorCallback(s32 itemIndex, bool8 onInit, struct ListM if (itemIndex != LIST_CANCEL) AddBagItemIconSprite(BagGetItemIdByPocketPosition(gBagPosition.pocket + 1, itemIndex), gBagMenu->itemIconSlot); else - AddBagItemIconSprite(-1, gBagMenu->itemIconSlot); + AddBagItemIconSprite(ITEM_LIST_END, gBagMenu->itemIconSlot); gBagMenu->itemIconSlot ^= 1; if (!gBagMenu->inhibitItemDescriptionPrint) PrintItemDescription(itemIndex); diff --git a/src/item_use.c b/src/item_use.c index 913c0700fa..dbdcc16d6d 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -18,6 +18,7 @@ #include "field_player_avatar.h" #include "field_screen_effect.h" #include "field_weather.h" +#include "fldeff.h" #include "item.h" #include "item_menu.h" #include "item_use.h" @@ -67,10 +68,13 @@ static void Task_ShowTMHMContainedMessage(u8); static void UseTMHMYesNo(u8); static void UseTMHM(u8); static void Task_StartUseRepel(u8); +static void Task_StartUseLure(u8 taskId); static void Task_UseRepel(u8); +static void Task_UseLure(u8 taskId); static void Task_CloseCantUseKeyItemMessage(u8); static void SetDistanceOfClosestHiddenItem(u8, s16, s16); static void CB2_OpenPokeblockFromBag(void); +static void ItemUseOnFieldCB_Honey(u8 taskId); // EWRAM variables EWRAM_DATA static void(*sItemUseOnFieldCB)(u8 taskId) = NULL; @@ -846,7 +850,7 @@ static void RemoveUsedItem(void) void ItemUseOutOfBattle_Repel(u8 taskId) { - if (VarGet(VAR_REPEL_STEP_COUNT) == 0) + if (REPEL_STEP_COUNT == 0) gTasks[taskId].func = Task_StartUseRepel; else if (!InBattlePyramid()) DisplayItemMessage(taskId, FONT_NORMAL, gText_RepelEffectsLingered, CloseItemMessage); @@ -871,6 +875,9 @@ static void Task_UseRepel(u8 taskId) if (!IsSEPlaying()) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); + #if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId); + #endif RemoveUsedItem(); if (!InBattlePyramid()) DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); @@ -878,6 +885,57 @@ static void Task_UseRepel(u8 taskId) DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } +void HandleUseExpiredRepel(void) +{ +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED))); +#endif +} + +void ItemUseOutOfBattle_Lure(u8 taskId) +{ + if (LURE_STEP_COUNT == 0) + gTasks[taskId].func = Task_StartUseLure; + else if (!InBattlePyramid()) + DisplayItemMessage(taskId, FONT_NORMAL, gText_LureEffectsLingered, CloseItemMessage); + else + DisplayItemMessageInBattlePyramid(taskId, gText_LureEffectsLingered, Task_CloseBattlePyramidBagMessage); +} + +static void Task_StartUseLure(u8 taskId) +{ + s16* data = gTasks[taskId].data; + + if (++data[8] > 7) + { + data[8] = 0; + PlaySE(SE_REPEL); + gTasks[taskId].func = Task_UseLure; + } +} + +static void Task_UseLure(u8 taskId) +{ + if (!IsSEPlaying()) + { + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId) | REPEL_LURE_MASK); + #if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_ItemId); + #endif + RemoveUsedItem(); + if (!InBattlePyramid()) + DisplayItemMessage(taskId, FONT_NORMAL, gStringVar4, CloseItemMessage); + else + DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); + } +} + +void HandleUseExpiredLure(void) +{ +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)) | REPEL_LURE_MASK); +#endif +} static void Task_UsedBlackWhiteFlute(u8 taskId) { @@ -1202,6 +1260,29 @@ void ItemUseOutOfBattle_FormChange_ConsumedOnUse(u8 taskId) SetUpItemUseCallback(taskId); } +void Task_UseHoneyOnField(u8 taskId) +{ + //ResetInitialPlayerAvatarState(); + StartSweetScentFieldEffect(); + DestroyTask(taskId); +} + +static void ItemUseOnFieldCB_Honey(u8 taskId) +{ + Overworld_ResetStateAfterDigEscRope(); + RemoveUsedItem(); + gTasks[taskId].data[0] = 0; + DisplayItemMessageOnField(taskId, gStringVar4, Task_UseHoneyOnField); +} + +void ItemUseOutOfBattle_Honey(u8 taskId) +{ + sItemUseOnFieldCB = ItemUseOnFieldCB_Honey; + gFieldCallback = FieldCB_UseItemOnField; + gBagMenu->newScreenCallback = CB2_ReturnToField; + Task_FadeAndCloseBagMenu(taskId); +} + void ItemUseOutOfBattle_CannotUse(u8 taskId) { DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); diff --git a/src/link.c b/src/link.c index b01be9d890..06907005fe 100644 --- a/src/link.c +++ b/src/link.c @@ -198,7 +198,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 5, .paletteNum = 15, .baseBlock = 0x002 @@ -206,7 +206,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 6, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 7, .paletteNum = 15, .baseBlock = 0x098 @@ -214,7 +214,7 @@ static const struct WindowTemplate sLinkErrorWindowTemplates[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 13, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 7, .paletteNum = 15, .baseBlock = 0x16A diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 4730c74fde..9d66a18378 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -2525,9 +2525,8 @@ u8 RfuGetStatus(void) bool32 RfuHasErrored(void) { - // RFU_STATUS_OK will underflow here intentionally - u32 var = RfuGetStatus() - 1; - if (var < RFU_STATUS_CONNECTION_ERROR) + u32 status = RfuGetStatus(); + if (status == RFU_STATUS_FATAL_ERROR || status == RFU_STATUS_CONNECTION_ERROR) return TRUE; else return FALSE; @@ -2656,7 +2655,7 @@ static u8 GetPartnerIndexByNameAndTrainerID(const u8 *name, u16 id) for (i = 0; i < RFU_CHILD_MAX; i++) { - u16 trainerId = ReadU16(gRfuLinkStatus->partner[i].gname + 2); + u16 trainerId = ReadU16(((struct RfuGameData *)gRfuLinkStatus->partner[i].gname)->compatibility.playerTrainerId); if (IsRfuSerialNumberValid(gRfuLinkStatus->partner[i].serialNo) && !StringCompare(name, gRfuLinkStatus->partner[i].uname) && id == trainerId) @@ -2682,9 +2681,9 @@ static void RfuReqDisconnectSlot(u32 slot) void RequestDisconnectSlotByTrainerNameAndId(const u8 *name, u16 id) { - u8 var = GetPartnerIndexByNameAndTrainerID(name, id); - if (var != 0xFF) - RfuReqDisconnectSlot(1 << var); + u8 index = GetPartnerIndexByNameAndTrainerID(name, id); + if (index != 0xFF) + RfuReqDisconnectSlot(1 << index); } void Rfu_DisconnectPlayerById(u32 playerIdx) diff --git a/src/list_menu.c b/src/list_menu.c index 112fca7530..c240564c65 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -13,6 +13,10 @@ #include "sound.h" #include "constants/songs.h" +// Cursors after this point are created using a sprite with their own task. +// This allows them to have idle animations. Cursors prior to this are simply printed text. +#define CURSOR_OBJECT_START CURSOR_RED_OUTLINE + struct UnkIndicatorsStruct { u8 field_0; @@ -70,7 +74,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count); static void ListMenuDrawCursor(struct ListMenu *list); static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit); -static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind); +static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorObjId); static void Task_ScrollIndicatorArrowPair(u8 taskId); static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor); static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor); @@ -78,9 +82,9 @@ static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y); static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y); static void ListMenuRemoveRedOutlineCursorObject(u8 taskId); static void ListMenuRemoveRedArrowCursorObject(u8 taskId); -static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); -static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); -static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); +static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorObjId); +static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorObjId); +static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorObjId); static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite); static void SpriteCallback_RedArrowCursor(struct Sprite *sprite); @@ -301,10 +305,10 @@ static const struct SpriteTemplate sSpriteTemplate_RedArrowCursor = .callback = SpriteCallback_RedArrowCursor, }; -static const u16 sRedArrowPal[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); -static const u32 sRedArrowOtherGfx[] = INCBIN_U32("graphics/interface/red_arrow_other.4bpp.lz"); -static const u32 sSelectorOutlineGfx[] = INCBIN_U32("graphics/interface/selector_outline.4bpp.lz"); -static const u32 sRedArrowGfx[] = INCBIN_U32("graphics/interface/red_arrow.4bpp.lz"); +static const u16 sRedInterface_Pal[] = INCBIN_U16("graphics/interface/red.gbapal"); // Shared by all of the below gfx +static const u32 sScrollIndicator_Gfx[] = INCBIN_U32("graphics/interface/scroll_indicator.4bpp.lz"); +static const u32 sOutlineCursor_Gfx[] = INCBIN_U32("graphics/interface/outline_cursor.4bpp.lz"); +static const u32 sArrowCursor_Gfx[] = INCBIN_U32("graphics/interface/arrow_cursor.4bpp.lz"); // code static void ListMenuDummyTask(u8 taskId) @@ -477,7 +481,7 @@ void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) *selectedRow = list->selectedRow; if (list->taskId != TASK_NONE) - ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2); + ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - CURSOR_OBJECT_START); DestroyTask(listTaskId); } @@ -650,31 +654,33 @@ static void ListMenuDrawCursor(struct ListMenu *list) u8 y = list->selectedRow * yMultiplier + list->template.upText_Y; switch (list->template.cursorKind) { - case 0: + case CURSOR_BLACK_ARROW: ListMenuPrint(list, gText_SelectorArrow2, x, y); break; - case 1: + case CURSOR_INVISIBLE: break; - case 2: + case CURSOR_RED_OUTLINE: if (list->taskId == TASK_NONE) - list->taskId = ListMenuAddCursorObject(list, 0); + list->taskId = ListMenuAddCursorObject(list, CURSOR_RED_OUTLINE - CURSOR_OBJECT_START); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 - 1, - GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, 0); + GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, + CURSOR_RED_OUTLINE - CURSOR_OBJECT_START); break; - case 3: + case CURSOR_RED_ARROW: if (list->taskId == TASK_NONE) - list->taskId = ListMenuAddCursorObject(list, 1); + list->taskId = ListMenuAddCursorObject(list, CURSOR_RED_ARROW - CURSOR_OBJECT_START); ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 + x, - GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, 1); + GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, + CURSOR_RED_ARROW - CURSOR_OBJECT_START); break; } } #undef TASK_NONE -static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind) +static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorObjId) { struct CursorStruct cursor; @@ -686,13 +692,13 @@ static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind) cursor.palTag = TAG_NONE; cursor.palNum = 15; - return ListMenuAddCursorObjectInternal(&cursor, cursorKind); + return ListMenuAddCursorObjectInternal(&cursor, cursorObjId); } static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow) { u8 cursorKind = list->template.cursorKind; - if (cursorKind == 0) + if (cursorKind == CURSOR_BLACK_ARROW) { u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; u8 width = GetMenuCursorDimensionByFont(list->template.fontId, 0); @@ -1071,18 +1077,18 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 struct ScrollIndicatorPair *data; u8 taskId; - spriteSheet.data = sRedArrowOtherGfx; + spriteSheet.data = sScrollIndicator_Gfx; spriteSheet.size = 0x100; spriteSheet.tag = arrowInfo->tileTag; LoadCompressedSpriteSheet(&spriteSheet); if (arrowInfo->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20); + LoadPalette(sRedInterface_Pal, (16 * arrowInfo->palNum) + 0x100, 0x20); } else { - spritePal.data = sRedArrowPal; + spritePal.data = sRedInterface_Pal; spritePal.tag = arrowInfo->palTag; LoadSpritePalette(&spritePal); } @@ -1190,39 +1196,39 @@ void RemoveScrollIndicatorArrowPair(u8 taskId) DestroyTask(taskId); } -static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind) +static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorObjId) { - switch (cursorKind) + switch (cursorObjId) { - case 0: + case CURSOR_RED_OUTLINE - CURSOR_OBJECT_START: default: return ListMenuAddRedOutlineCursorObject(cursor); - case 1: + case CURSOR_RED_ARROW - CURSOR_OBJECT_START: return ListMenuAddRedArrowCursorObject(cursor); } } -static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind) +static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorObjId) { - switch (cursorKind) + switch (cursorObjId) { - case 0: + case CURSOR_RED_OUTLINE - CURSOR_OBJECT_START: ListMenuUpdateRedOutlineCursorObject(taskId, x, y); break; - case 1: + case CURSOR_RED_ARROW - CURSOR_OBJECT_START: ListMenuUpdateRedArrowCursorObject(taskId, x, y); break; } } -static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind) +static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorObjId) { - switch (cursorKind) + switch (cursorObjId) { - case 0: + case CURSOR_RED_OUTLINE - CURSOR_OBJECT_START: ListMenuRemoveRedOutlineCursorObject(taskId); break; - case 1: + case CURSOR_RED_ARROW - CURSOR_OBJECT_START: ListMenuRemoveRedArrowCursorObject(taskId); break; } @@ -1317,18 +1323,18 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = sSelectorOutlineGfx; + spriteSheet.data = sOutlineCursor_Gfx; spriteSheet.size = 0x100; spriteSheet.tag = cursor->tileTag; LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedInterface_Pal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = sRedArrowPal; + spritePal.data = sRedInterface_Pal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } @@ -1402,18 +1408,18 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = sRedArrowGfx; + spriteSheet.data = sArrowCursor_Gfx; spriteSheet.size = 0x80; spriteSheet.tag = cursor->tileTag; LoadCompressedSpriteSheet(&spriteSheet); if (cursor->palTag == TAG_NONE) { - LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedInterface_Pal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = sRedArrowPal; + spritePal.data = sRedInterface_Pal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } diff --git a/src/mail.c b/src/mail.c index 2a88b7ba94..e20a53cba7 100644 --- a/src/mail.c +++ b/src/mail.c @@ -556,8 +556,8 @@ static bool8 MailReadBuildGraphics(void) } break; case 10: - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 1, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyToBgTilemapBuffer(1, sMailGraphics[sMailRead->mailType].tileMap, 0, 0); break; case 11: diff --git a/src/main.c b/src/main.c index 99d2610bb3..3a306b2cf8 100644 --- a/src/main.c +++ b/src/main.c @@ -408,9 +408,7 @@ static void IntrDummy(void) static void WaitForVBlank(void) { gMain.intrCheck &= ~INTR_FLAG_VBLANK; - - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)) - ; + VBlankIntrWait(); } void SetTrainerHillVBlankCounter(u32 *counter) diff --git a/src/main_menu.c b/src/main_menu.c index e8fe365c7a..39554d188c 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1121,7 +1121,7 @@ static void Task_DisplayMainMenuInvalidActionError(u8 taskId) switch (gTasks[taskId].tCurrItem) { case 0: - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); switch (gTasks[taskId].tMenuType) { case 0: @@ -1631,7 +1631,7 @@ static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8 taskId) NewGameBirchSpeech_StartFadePlatformIn(taskId, 1); gTasks[taskId].func = Task_NewGameBirchSpeech_SlidePlatformAway2; break; - case -1: + case MENU_B_PRESSED: case 1: PlaySE(SE_SELECT); gTasks[taskId].func = Task_NewGameBirchSpeech_BoyOrGirl; diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 0fb80342f8..90e3671cc9 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -479,7 +479,7 @@ static void BardSing(struct Task *task, struct BardSong *song) song->sound = GetWordSounds(word); GetWordPhonemes(song, MACRO1(word)); song->currWord++; - if (song->sound->var00 != 0xFF) + if (song->sound->songLengthId != 0xFF) song->state = 0; else { @@ -497,9 +497,9 @@ static void BardSing(struct Task *task, struct BardSong *song) { case 0: song->phonemeTimer = song->phonemes[song->currPhoneme].length; - if (sound->var00 <= 50) + if (sound->songLengthId <= 50) { - u8 num = sound->var00 / 3; + u8 num = sound->songLengthId / 3; m4aSongNumStart(PH_TRAP_HELD + 3 * num); } song->state = 2; @@ -507,7 +507,7 @@ static void BardSing(struct Task *task, struct BardSong *song) break; case 2: song->state = 1; - if (sound->var00 <= 50) + if (sound->songLengthId <= 50) { song->volume = 0x100 + sound->volume * 16; m4aMPlayVolumeControl(&gMPlayInfo_SE2, TRACKS_ALL, song->volume); @@ -529,7 +529,7 @@ static void BardSing(struct Task *task, struct BardSong *song) if (song->phonemeTimer == 0) { song->currPhoneme++; - if (song->currPhoneme != 6 && song->sound[song->currPhoneme].var00 != 0xFF) + if (song->currPhoneme != 6 && song->sound[song->currPhoneme].songLengthId != 0xFF) song->state = 0; else { diff --git a/src/menu_specialized.c b/src/menu_specialized.c index d844b8225a..a5c52a474e 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -188,7 +188,7 @@ static const struct ListMenuTemplate sMoveRelearnerMovesListTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; //-------------- @@ -285,7 +285,7 @@ u8 MailboxMenu_CreateList(struct PlayerPCItemPageStruct *page) gMultiuseListMenuTemplate.moveCursorFunc = MailboxMenu_MoveCursorFunc; gMultiuseListMenuTemplate.itemPrintFunc = MailboxMenu_ItemPrintFunc; gMultiuseListMenuTemplate.fontId = FONT_NORMAL; - gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.cursorKind = CURSOR_BLACK_ARROW; gMultiuseListMenuTemplate.lettersSpacing = 0; gMultiuseListMenuTemplate.itemVerticalPadding = 0; gMultiuseListMenuTemplate.scrollMultiple = LIST_NO_MULTIPLE_SCROLL; @@ -1543,7 +1543,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg 0, 15 * i, color, - -1, + TEXT_SKIP_DRAW, sLvlUpStatStrings[i]); StringCopy(text, (statsDiff[i] >= 0) ? gText_Plus : gText_Dash); @@ -1552,7 +1552,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg 56, 15 * i, color, - -1, + TEXT_SKIP_DRAW, text); if (abs(statsDiff[i]) <= 9) x = 18; @@ -1565,7 +1565,7 @@ void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bg 56 + x, 15 * i, color, - -1, + TEXT_SKIP_DRAW, text); } } @@ -1607,7 +1607,7 @@ void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 s 0, 15 * i, color, - -1, + TEXT_SKIP_DRAW, sLvlUpStatStrings[i]); AddTextPrinterParameterized3(windowId, @@ -1615,7 +1615,7 @@ void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 s 56 + x, 15 * i, color, - -1, + TEXT_SKIP_DRAW, text); } } diff --git a/src/move_relearner.c b/src/move_relearner.c index d9c943b576..3c8b06a785 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -553,7 +553,7 @@ static void DoMoveRelearnerMain(void) gSpecialVar_0x8004 = FALSE; sMoveRelearnerStruct->state = MENU_STATE_FADE_AND_RETURN; } - else if (selection == -1 || selection == 1) + else if (selection == MENU_B_PRESSED || selection == 1) { if (sMoveRelearnerMenuSate.showContestInfo == FALSE) { @@ -579,14 +579,14 @@ static void DoMoveRelearnerMain(void) break; case MENU_STATE_CONFIRM_DELETE_OLD_MOVE: { - s8 var = Menu_ProcessInputNoWrapClearOnChoose(); + s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); - if (var == 0) + if (selection == 0) { FormatAndPrintText(gText_MoveRelearnerWhichMoveToForget); sMoveRelearnerStruct->state = MENU_STATE_PRINT_WHICH_MOVE_PROMPT; } - else if (var == -1 || var == 1) + else if (selection == MENU_B_PRESSED || selection == 1) { sMoveRelearnerStruct->state = MENU_STATE_PRINT_STOP_TEACHING; } @@ -606,13 +606,13 @@ static void DoMoveRelearnerMain(void) break; case MENU_STATE_CONFIRM_STOP_TEACHING: { - s8 var = Menu_ProcessInputNoWrapClearOnChoose(); + s8 selection = Menu_ProcessInputNoWrapClearOnChoose(); - if (var == 0) + if (selection == 0) { sMoveRelearnerStruct->state = MENU_STATE_CHOOSE_SETUP_STATE; } - else if (var == MENU_B_PRESSED || var == 1) + else if (selection == MENU_B_PRESSED || selection == 1) { // What's the point? It gets set to MENU_STATE_PRINT_TRYING_TO_LEARN_PROMPT, anyway. if (sMoveRelearnerMenuSate.showContestInfo == FALSE) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index b6610a6403..0af051ab77 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -90,7 +90,7 @@ void CB2_InitMysteryEventMenu(void) for (i = 0; i < 2; i++) FillWindowPixelBuffer(i, PIXEL_FILL(0)); - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); LoadUserWindowBorderGfx(0, 1u, 0xD0u); Menu_LoadStdPalAt(0xE0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); diff --git a/src/mystery_gift_menu.c b/src/mystery_gift_menu.c index ba366ad1b6..f5d2b0401d 100644 --- a/src/mystery_gift_menu.c +++ b/src/mystery_gift_menu.c @@ -102,7 +102,7 @@ static const struct WindowTemplate sMainWindows[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 2, .paletteNum = 12, .baseBlock = 0x0013 @@ -118,7 +118,7 @@ static const struct WindowTemplate sMainWindows[] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 15, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 5, .paletteNum = 13, .baseBlock = 0x004f @@ -234,9 +234,9 @@ static const struct ListMenuTemplate sListMenuTemplate_ThreeOptions = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct ListMenuItem sListMenuItems_ReceiveSendToss[] = { @@ -279,9 +279,9 @@ static const struct ListMenuTemplate sListMenu_ReceiveSendToss = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct ListMenuTemplate sListMenu_ReceiveToss = { @@ -300,9 +300,9 @@ static const struct ListMenuTemplate sListMenu_ReceiveToss = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct ListMenuTemplate sListMenu_ReceiveSend = { @@ -321,9 +321,9 @@ static const struct ListMenuTemplate sListMenu_ReceiveSend = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct ListMenuTemplate sListMenu_Receive = { @@ -342,9 +342,9 @@ static const struct ListMenuTemplate sListMenu_Receive = { .cursorShadowPal = 3, .lettersSpacing = 0, .itemVerticalPadding = 0, - .scrollMultiple = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const u8 *const sUnusedMenuTexts[] = { @@ -640,8 +640,8 @@ static u32 MysteryGift_HandleThreeOptionMenu(u8 *unused0, u16 * unused1, u8 whic width++; windowTemplate.width = width; - if (width < 30) - windowTemplate.tilemapLeft = (30 - width) / 2; + if (width < DISPLAY_TILE_WIDTH) + windowTemplate.tilemapLeft = (DISPLAY_TILE_WIDTH - width) / 2; else windowTemplate.tilemapLeft = 0; diff --git a/src/mystery_gift_view.c b/src/mystery_gift_view.c index 88c498fd1c..43605564e0 100644 --- a/src/mystery_gift_view.c +++ b/src/mystery_gift_view.c @@ -226,9 +226,9 @@ s32 WonderCard_Enter(void) return 0; break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -244,7 +244,7 @@ s32 WonderCard_Enter(void) gPaletteFade.bufferTransferDisabled = TRUE; LoadPalette(sWonderCardData->gfx->pal, 0x10, 0x20); LZ77UnCompWram(sWonderCardData->gfx->map, sWonderCardData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, 30, 20, 0, 0, 30, 20, 1, 0x008, 0); + CopyRectToBgTilemapBufferRect(2, sWonderCardData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 1, 0x008, 0); CopyBgTilemapBufferToVram(2); break; case 4: @@ -291,9 +291,9 @@ s32 WonderCard_Exit(bool32 useCancel) return 0; break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -595,7 +595,7 @@ static const struct WindowTemplate sNews_WindowTemplates[] = { .tilemapLeft = 1, .tilemapTop = 3, .width = 28, - .height = 20, + .height = DISPLAY_TILE_HEIGHT, .paletteNum = 2, .baseBlock = 0x07C } @@ -688,10 +688,10 @@ s32 WonderNews_Enter(void) SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); @@ -707,8 +707,8 @@ s32 WonderNews_Enter(void) gPaletteFade.bufferTransferDisabled = TRUE; LoadPalette(sWonderNewsData->gfx->pal, 0x10, 0x20); LZ77UnCompWram(sWonderNewsData->gfx->map, sWonderNewsData->bgTilemapBuffer); - CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, 30, 3, 0, 0, 30, 3, 1, 8, 0); - CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, 30, 23, 0, 3, 30, 23, 1, 8, 0); + CopyRectToBgTilemapBufferRect(1, sWonderNewsData->bgTilemapBuffer, 0, 0, DISPLAY_TILE_WIDTH, 3, 0, 0, DISPLAY_TILE_WIDTH, 3, 1, 8, 0); + CopyRectToBgTilemapBufferRect(3, sWonderNewsData->bgTilemapBuffer, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 0, 3, DISPLAY_TILE_WIDTH, 3 + DISPLAY_TILE_HEIGHT, 1, 8, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(3); break; @@ -760,10 +760,10 @@ s32 WonderNews_Exit(bool32 useCancel) ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); break; case 2: - FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 24); - FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, 30, 24); + FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4); + FillBgTilemapBufferRect_Palette0(3, 0x000, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT + 4); CopyBgTilemapBufferToVram(0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); diff --git a/src/naming_screen.c b/src/naming_screen.c index f7d2ccc2ec..c283827554 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -267,7 +267,7 @@ static const struct WindowTemplate sWindowTemplates[WIN_COUNT + 1] = .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, - .width = 30, + .width = DISPLAY_TILE_WIDTH, .height = 2, .paletteNum = 11, .baseBlock = 0x074 @@ -2179,6 +2179,12 @@ static const struct OamData sOam_32x16 = .paletteNum = 0, }; +/* +[0_____][] <-1 40x32 +[2_____][] <-3 +[4___+_][] <-5/Origin +[6 ][] <-7 +*/ static const struct Subsprite sSubsprites_PageSwapFrame[] = { { @@ -2247,6 +2253,10 @@ static const struct Subsprite sSubsprites_PageSwapFrame[] = } }; +/* +[0_][] <-1 24x8 + ^-- Origin +*/ static const struct Subsprite sSubsprites_PageSwapText[] = { { @@ -2267,6 +2277,11 @@ static const struct Subsprite sSubsprites_PageSwapText[] = } }; +/* +[0_____][] <-1 40x24 +[2_____][] <-3 +[4___+_][] <-5/Origin +*/ static const struct Subsprite sSubsprites_Button[] = { { @@ -2319,6 +2334,11 @@ static const struct Subsprite sSubsprites_Button[] = } }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_PCIcon[] = { { diff --git a/src/overworld.c b/src/overworld.c index 54cdb3d1dd..4d3ff83406 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -665,9 +665,9 @@ void SetWarpDestinationToDynamicWarp(u8 unusedWarpId) void SetWarpDestinationToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(healLocationId); - if (warp) - SetWarpDestination(warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); + if (healLocation) + SetWarpDestination(healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetWarpDestinationToLastHealLocation(void) @@ -735,9 +735,9 @@ void SetContinueGameWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) void SetContinueGameWarpToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(healLocationId); - if (warp) - SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, WARP_ID_NONE, warp->x, warp->y); + const struct HealLocation *healLocation = GetHealLocation(healLocationId); + if (healLocation) + SetWarpData(&gSaveBlock1Ptr->continueGameWarp, healLocation->group, healLocation->map, WARP_ID_NONE, healLocation->x, healLocation->y); } void SetContinueGameWarpToDynamicWarp(int unused) @@ -817,8 +817,8 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum) CopySecondaryTilesetToVramUsingHeap(gMapHeader.mapLayout); LoadSecondaryTilesetPalette(gMapHeader.mapLayout); - for (paletteIndex = 6; paletteIndex < 13; paletteIndex++) - ApplyWeatherGammaShiftToPal(paletteIndex); + for (paletteIndex = NUM_PALS_IN_PRIMARY; paletteIndex < NUM_PALS_TOTAL; paletteIndex++) + ApplyWeatherColorMapToPal(paletteIndex); InitSecondaryTilesetAnimation(); UpdateLocationHistoryForRoamer(); diff --git a/src/party_menu.c b/src/party_menu.c index ec4ea79f8f..e00ae14a46 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2857,7 +2857,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW { if (x + width < 0) return FALSE; - if (x > 31) + if (x >= 32) return FALSE; if (x < 0) @@ -2870,7 +2870,7 @@ static bool8 TryMovePartySlot(s16 x, s16 width, u8 *leftMove, u8 *newX, u8 *newW { *leftMove = 0; *newX = x; - if (x + width > 31) + if (x + width >= 32) *newWidth = 32 - x; else *newWidth = width; @@ -4466,8 +4466,8 @@ void Task_AbilityCapsule(u8 taskId) { case 0: // Can't use. - if (gBaseStats[tSpecies].abilities[0] == gBaseStats[tSpecies].abilities[1] - || gBaseStats[tSpecies].abilities[1] == 0 + if (gSpeciesInfo[tSpecies].abilities[0] == gSpeciesInfo[tSpecies].abilities[1] + || gSpeciesInfo[tSpecies].abilities[1] == 0 || tAbilityNum > 1 || !tSpecies) { @@ -4554,7 +4554,7 @@ void Task_AbilityPatch(u8 taskId) { case 0: // Can't use. - if (gBaseStats[tSpecies].abilities[tAbilityNum] == 0 + if (gSpeciesInfo[tSpecies].abilities[tAbilityNum] == 0 || !tSpecies || GetMonData(&gPlayerParty[tMonId], MON_DATA_ABILITY_NUM, NULL) > 1 ) @@ -4928,6 +4928,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc task) u16 move = ItemIdToBattleMoveId(item); gPartyMenu.data1 = move; + gPartyMenu.learnMoveState = 0; PlaySE(SE_SELECT); mon = &gPlayerParty[gPartyMenu.slotId]; @@ -5160,8 +5161,9 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) u16 *itemPtr = &gSpecialVar_ItemId; bool8 cannotUseEffect; u8 holdEffectParam = ItemId_GetHoldEffectParam(*itemPtr); - sInitialLevel = GetMonData(mon, MON_DATA_LEVEL); + u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, ITEM_NONE, NULL); + sInitialLevel = GetMonData(mon, MON_DATA_LEVEL); if (sInitialLevel != MAX_LEVEL) { BufferMonStatsToTaskData(mon, arrayPtr); @@ -5175,10 +5177,18 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc task) PlaySE(SE_SELECT); if (cannotUseEffect) { - gPartyMenuUseExitCallback = FALSE; - DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); - ScheduleBgCopyTilemapToVram(2); - gTasks[taskId].func = task; + if (targetSpecies != SPECIES_NONE && holdEffectParam == 0) + { + PartyMenuTryEvolution(taskId); + RemoveBagItem(gSpecialVar_ItemId, 1); + } + else + { + gPartyMenuUseExitCallback = FALSE; + DisplayPartyMenuMessage(gText_WontHaveEffect, TRUE); + ScheduleBgCopyTilemapToVram(2); + gTasks[taskId].func = task; + } } else { diff --git a/src/player_pc.c b/src/player_pc.c index 9ec36d61d2..f53e08f532 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -290,8 +290,9 @@ static const struct ListMenuTemplate sListMenuTemplate_ItemStorage = .cursorShadowPal = 3, .lettersSpacing = FALSE, .itemVerticalPadding = 0, - .scrollMultiple = FALSE, - .fontId = FONT_NARROW + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = FONT_NARROW, + .cursorKind = CURSOR_BLACK_ARROW, }; static const struct WindowTemplate sWindowTemplates_ItemStorage[ITEMPC_WIN_COUNT] = @@ -1015,7 +1016,7 @@ static void ItemStorage_MoveCursor(s32 id, bool8 onInit, struct ListMenu *list) if (id != LIST_CANCEL) ItemStorage_DrawItemIcon(gSaveBlock1Ptr->pcItems[id].itemId); else - ItemStorage_DrawItemIcon(MSG_GO_BACK_TO_PREV); + ItemStorage_DrawItemIcon(ITEM_LIST_END); ItemStorage_PrintDescription(id); } } diff --git a/src/pokeblock.c b/src/pokeblock.c index cf0513f80e..481f84c4a3 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -440,7 +440,7 @@ static const struct ListMenuTemplate sPokeblockListMenuTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, .fontId = FONT_NORMAL, - .cursorKind = 1 + .cursorKind = CURSOR_INVISIBLE }; void OpenPokeblockCase(u8 caseId, void (*callback)(void)) diff --git a/src/pokedex.c b/src/pokedex.c index de7f186a57..ef71d31294 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4379,7 +4379,7 @@ bool16 HasAllMons(void) for (i = 1; i < NATIONAL_DEX_COUNT + 1; i++) { - if (!(gBaseStats[i].flags & SPECIES_FLAG_MYTHICAL) && !GetSetPokedexFlag(i, FLAG_GET_CAUGHT)) + if (!(gSpeciesInfo[i].flags & SPECIES_FLAG_MYTHICAL) && !GetSetPokedexFlag(i, FLAG_GET_CAUGHT)) return FALSE; } @@ -4660,7 +4660,7 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t { species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - if (bodyColor == gBaseStats[species].bodyColor) + if (bodyColor == gSpeciesInfo[species].bodyColor) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; resultsCount++; @@ -4686,8 +4686,8 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t { species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - types[0] = gBaseStats[species].type1; - types[1] = gBaseStats[species].type2; + types[0] = gSpeciesInfo[species].type1; + types[1] = gSpeciesInfo[species].type2; if (types[0] == type1 || types[1] == type1) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; @@ -4704,8 +4704,8 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t { species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - types[0] = gBaseStats[species].type1; - types[1] = gBaseStats[species].type2; + types[0] = gSpeciesInfo[species].type1; + types[1] = gSpeciesInfo[species].type2; if ((types[0] == type1 && types[1] == type2) || (types[0] == type2 && types[1] == type1)) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; diff --git a/src/pokemon.c b/src/pokemon.c index d6b6e2aed2..8e8166fb37 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -39,7 +39,6 @@ #include "trainer_hill.h" #include "util.h" #include "constants/abilities.h" -#include "constants/battle_config.h" #include "constants/battle_frontier.h" #include "constants/battle_move_effects.h" #include "constants/battle_script_commands.h" @@ -1950,7 +1949,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/pokemon/trainer_class_lookups.h" #include "data/pokemon/experience_tables.h" -#include "data/pokemon/base_stats.h" +#include "data/pokemon/species_info.h" #include "data/pokemon/level_up_learnsets.h" #include "data/pokemon/teachable_learnsets.h" #include "data/pokemon/evolution.h" @@ -1962,11 +1961,7 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/pokemon/form_change_table_pointers.h" // SPECIES_NONE are ignored in the following two tables, so decrement before accessing these arrays to get the right result -#if P_ENABLE_DEBUG == TRUE const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = -#else -static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = -#endif { [SPECIES_BULBASAUR - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_IVYSAUR - 1] = ANIM_V_STRETCH, @@ -1974,7 +1969,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_CHARMANDER - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_CHARMELEON - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_CHARIZARD - 1] = ANIM_V_SHAKE, - [SPECIES_SQUIRTLE - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SQUIRTLE - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_WARTORTLE - 1] = ANIM_SHRINK_GROW, [SPECIES_BLASTOISE - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_CATERPIE - 1] = ANIM_SWING_CONCAVE, @@ -1988,31 +1983,31 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PIDGEOT - 1] = ANIM_FRONT_FLIP, [SPECIES_RATTATA - 1] = ANIM_RAPID_H_HOPS, [SPECIES_RATICATE - 1] = ANIM_FIGURE_8, - [SPECIES_SPEAROW - 1] = ANIM_RISING_WOBBLE, + [SPECIES_SPEAROW - 1] = ANIM_H_JUMPS, [SPECIES_FEAROW - 1] = ANIM_FIGURE_8, - [SPECIES_EKANS - 1] = ANIM_H_STRETCH, + [SPECIES_EKANS - 1] = ANIM_V_STRETCH, [SPECIES_ARBOK - 1] = ANIM_V_STRETCH, [SPECIES_PIKACHU - 1] = ANIM_FLASH_YELLOW, - [SPECIES_RAICHU - 1] = ANIM_V_STRETCH, + [SPECIES_RAICHU - 1] = ANIM_GROW_VIBRATE, [SPECIES_SANDSHREW - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_SANDSLASH - 1] = ANIM_V_STRETCH, + [SPECIES_SANDSLASH - 1] = ANIM_H_SHAKE, [SPECIES_NIDORAN_F - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_NIDORINA - 1] = ANIM_V_STRETCH, [SPECIES_NIDOQUEEN - 1] = ANIM_H_SHAKE, [SPECIES_NIDORAN_M - 1] = ANIM_GROW_VIBRATE, - [SPECIES_NIDORINO - 1] = ANIM_SHRINK_GROW, + [SPECIES_NIDORINO - 1] = ANIM_V_STRETCH, [SPECIES_NIDOKING - 1] = ANIM_H_SHAKE, [SPECIES_CLEFAIRY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CLEFABLE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_CLEFABLE - 1] = ANIM_V_STRETCH, [SPECIES_VULPIX - 1] = ANIM_V_STRETCH, - [SPECIES_NINETALES - 1] = ANIM_V_SHAKE, + [SPECIES_NINETALES - 1] = ANIM_GROW_VIBRATE, [SPECIES_JIGGLYPUFF - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_WIGGLYTUFF - 1] = ANIM_H_JUMPS, [SPECIES_ZUBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOLBAT - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_ODDISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GLOOM - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_VILEPLUME - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_VILEPLUME - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_PARAS - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_PARASECT - 1] = ANIM_H_SHAKE, [SPECIES_VENONAT - 1] = ANIM_V_JUMPS_H_JUMPS, @@ -2026,17 +2021,17 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_MANKEY - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_PRIMEAPE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_GROWLITHE - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_ARCANINE - 1] = ANIM_H_VIBRATE, + [SPECIES_ARCANINE - 1] = ANIM_H_SHAKE, [SPECIES_POLIWAG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_POLIWHIRL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_POLIWRATH - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_ABRA - 1] = ANIM_H_JUMPS, [SPECIES_KADABRA - 1] = ANIM_GROW_VIBRATE, - [SPECIES_ALAKAZAM - 1] = ANIM_V_STRETCH, + [SPECIES_ALAKAZAM - 1] = ANIM_GROW_VIBRATE, [SPECIES_MACHOP - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MACHOKE - 1] = ANIM_V_SHAKE, [SPECIES_MACHAMP - 1] = ANIM_H_JUMPS, - [SPECIES_BELLSPROUT - 1] = ANIM_V_STRETCH, + [SPECIES_BELLSPROUT - 1] = ANIM_H_JUMPS, [SPECIES_WEEPINBELL - 1] = ANIM_SWING_CONVEX, [SPECIES_VICTREEBEL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_TENTACOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2045,85 +2040,85 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_GRAVELER - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_GOLEM - 1] = ANIM_ROTATE_UP_SLAM_DOWN, [SPECIES_PONYTA - 1] = ANIM_GLOW_ORANGE, - [SPECIES_RAPIDASH - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_RAPIDASH - 1] = ANIM_H_SHAKE, [SPECIES_SLOWPOKE - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_SLOWBRO - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SLOWBRO - 1] = ANIM_GROW_VIBRATE, [SPECIES_MAGNEMITE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, [SPECIES_MAGNETON - 1] = ANIM_FLASH_YELLOW, [SPECIES_FARFETCHD - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_DODUO - 1] = ANIM_H_SHAKE_SLOW, - [SPECIES_DODRIO - 1] = ANIM_LUNGE_GROW, - [SPECIES_SEEL - 1] = ANIM_SWING_CONCAVE, + [SPECIES_DODRIO - 1] = ANIM_V_STRETCH, + [SPECIES_SEEL - 1] = ANIM_H_STRETCH, [SPECIES_DEWGONG - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GRIMER - 1] = ANIM_H_SLIDE_SLOW, - [SPECIES_MUK - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_MUK - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHELLDER - 1] = ANIM_TWIST, [SPECIES_CLOYSTER - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_GASTLY - 1] = ANIM_GLOW_BLACK, + [SPECIES_GASTLY - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_HAUNTER - 1] = ANIM_FLICKER_INCREASING, [SPECIES_GENGAR - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_ONIX - 1] = ANIM_RAPID_H_HOPS, - [SPECIES_DROWZEE - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, - [SPECIES_HYPNO - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ONIX - 1] = ANIM_H_SHAKE, + [SPECIES_DROWZEE - 1] = ANIM_V_STRETCH, + [SPECIES_HYPNO - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_KRABBY - 1] = ANIM_H_SLIDE, - [SPECIES_KINGLER - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_KINGLER - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_VOLTORB - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ELECTRODE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_EXEGGCUTE - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_EXEGGUTOR - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_CUBONE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_CUBONE - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_MAROWAK - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, [SPECIES_HITMONLEE - 1] = ANIM_H_STRETCH, [SPECIES_HITMONCHAN - 1] = ANIM_GROW_VIBRATE, [SPECIES_LICKITUNG - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_KOFFING - 1] = ANIM_SHRINK_GROW, + [SPECIES_KOFFING - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_WEEZING - 1] = ANIM_V_SLIDE, [SPECIES_RHYHORN - 1] = ANIM_V_SHAKE, - [SPECIES_RHYDON - 1] = ANIM_SHRINK_GROW, - [SPECIES_CHANSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RHYDON - 1] = ANIM_H_SHAKE, + [SPECIES_CHANSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TANGELA - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_KANGASKHAN - 1] = ANIM_V_STRETCH, - [SPECIES_HORSEA - 1] = ANIM_TWIST, + [SPECIES_HORSEA - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_SEADRA - 1] = ANIM_V_SLIDE, - [SPECIES_GOLDEEN - 1] = ANIM_SWING_CONVEX, + [SPECIES_GOLDEEN - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_SEAKING - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_STARYU - 1] = ANIM_TWIST_TWICE, [SPECIES_STARMIE - 1] = ANIM_TWIST, [SPECIES_MR_MIME - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SCYTHER - 1] = ANIM_H_VIBRATE, [SPECIES_JYNX - 1] = ANIM_V_STRETCH, - [SPECIES_ELECTABUZZ - 1] = ANIM_FLASH_YELLOW, + [SPECIES_ELECTABUZZ - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, [SPECIES_MAGMAR - 1] = ANIM_H_SHAKE, - [SPECIES_PINSIR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PINSIR - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TAUROS - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_MAGIKARP - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, [SPECIES_GYARADOS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_LAPRAS - 1] = ANIM_V_STRETCH, [SPECIES_DITTO - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_EEVEE - 1] = ANIM_V_STRETCH, - [SPECIES_VAPOREON - 1] = ANIM_V_STRETCH, - [SPECIES_JOLTEON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FLAREON - 1] = ANIM_V_STRETCH, + [SPECIES_VAPOREON - 1] = ANIM_GLOW_BLUE, + [SPECIES_JOLTEON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLAREON - 1] = ANIM_V_SHAKE, [SPECIES_PORYGON - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_OMANYTE - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_OMASTAR - 1] = ANIM_GROW_VIBRATE, [SPECIES_KABUTO - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KABUTOPS - 1] = ANIM_H_SHAKE, [SPECIES_AERODACTYL - 1] = ANIM_V_SLIDE_SLOW, - [SPECIES_SNORLAX - 1] = ANIM_SWING_CONCAVE, + [SPECIES_SNORLAX - 1] = ANIM_V_STRETCH, [SPECIES_ARTICUNO - 1] = ANIM_GROW_VIBRATE, [SPECIES_ZAPDOS - 1] = ANIM_FLASH_YELLOW, [SPECIES_MOLTRES - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_DRATINI - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRAGONAIR - 1] = ANIM_V_SHAKE, - [SPECIES_DRAGONITE - 1] = ANIM_V_SLIDE_SLOW, + [SPECIES_DRAGONAIR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DRAGONITE - 1] = ANIM_V_SHAKE, [SPECIES_MEWTWO - 1] = ANIM_GROW_VIBRATE, - [SPECIES_MEW - 1] = ANIM_SWING_CONVEX, + [SPECIES_MEW - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_CHIKORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_BAYLEEF - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MEGANIUM - 1] = ANIM_V_STRETCH, - [SPECIES_CYNDAQUIL - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_QUILAVA - 1] = ANIM_V_STRETCH, + [SPECIES_MEGANIUM - 1] = ANIM_GROW_VIBRATE, + [SPECIES_CYNDAQUIL - 1] = ANIM_V_STRETCH, + [SPECIES_QUILAVA - 1] = ANIM_H_STRETCH, [SPECIES_TYPHLOSION - 1] = ANIM_V_SHAKE, [SPECIES_TOTODILE - 1] = ANIM_H_JUMPS, [SPECIES_CROCONAW - 1] = ANIM_H_SHAKE, @@ -2133,7 +2128,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_HOOTHOOT - 1] = ANIM_V_SLIDE_SLOW, [SPECIES_NOCTOWL - 1] = ANIM_V_STRETCH, [SPECIES_LEDYBA - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_LEDIAN - 1] = ANIM_V_SLIDE_SLOW, + [SPECIES_LEDIAN - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_SPINARAK - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_ARIADOS - 1] = ANIM_H_SHAKE, [SPECIES_CROBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2142,23 +2137,23 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PICHU - 1] = ANIM_V_JUMPS_BIG, [SPECIES_CLEFFA - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_IGGLYBUFF - 1] = ANIM_SWING_CONCAVE_FAST, - [SPECIES_TOGEPI - 1] = ANIM_SWING_CONCAVE, + [SPECIES_TOGEPI - 1] = ANIM_V_JUMPS_BIG, [SPECIES_TOGETIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_NATU - 1] = ANIM_H_JUMPS, [SPECIES_XATU - 1] = ANIM_GROW_VIBRATE, [SPECIES_MAREEP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FLAAFFY - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_FLAAFFY - 1] = ANIM_V_STRETCH, [SPECIES_AMPHAROS - 1] = ANIM_FLASH_YELLOW, - [SPECIES_BELLOSSOM - 1] = ANIM_SWING_CONCAVE, + [SPECIES_BELLOSSOM - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_MARILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AZUMARILL - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_AZUMARILL - 1] = ANIM_SHRINK_GROW, [SPECIES_SUDOWOODO - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_POLITOED - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_HOPPIP - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_SKIPLOOM - 1] = ANIM_RISING_WOBBLE, [SPECIES_JUMPLUFF - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_AIPOM - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_SUNKERN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_SUNKERN - 1] = ANIM_H_JUMPS, [SPECIES_SUNFLORA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_YANMA - 1] = ANIM_FIGURE_8, [SPECIES_WOOPER - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2169,65 +2164,65 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_SLOWKING - 1] = ANIM_SHRINK_GROW, [SPECIES_MISDREAVUS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_UNOWN - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_WOBBUFFET - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_GIRAFARIG - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_WOBBUFFET - 1] = ANIM_GROW_VIBRATE, + [SPECIES_GIRAFARIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_PINECO - 1] = ANIM_SWING_CONCAVE, [SPECIES_FORRETRESS - 1] = ANIM_V_SHAKE, [SPECIES_DUNSPARCE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GLIGAR - 1] = ANIM_SHRINK_GROW, - [SPECIES_STEELIX - 1] = ANIM_H_SHAKE, + [SPECIES_STEELIX - 1] = ANIM_V_SHAKE, [SPECIES_SNUBBULL - 1] = ANIM_V_STRETCH, [SPECIES_GRANBULL - 1] = ANIM_V_SHAKE, [SPECIES_QWILFISH - 1] = ANIM_GROW_IN_STAGES, [SPECIES_SCIZOR - 1] = ANIM_H_VIBRATE, [SPECIES_SHUCKLE - 1] = ANIM_SWING_CONCAVE, - [SPECIES_HERACROSS - 1] = ANIM_LUNGE_GROW, - [SPECIES_SNEASEL - 1] = ANIM_H_STRETCH, + [SPECIES_HERACROSS - 1] = ANIM_V_STRETCH, + [SPECIES_SNEASEL - 1] = ANIM_H_JUMPS, [SPECIES_TEDDIURSA - 1] = ANIM_V_STRETCH, - [SPECIES_URSARING - 1] = ANIM_V_SHAKE, + [SPECIES_URSARING - 1] = ANIM_H_SHAKE, [SPECIES_SLUGMA - 1] = ANIM_V_STRETCH, [SPECIES_MAGCARGO - 1] = ANIM_V_STRETCH, [SPECIES_SWINUB - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_PILOSWINE - 1] = ANIM_H_SHAKE, [SPECIES_CORSOLA - 1] = ANIM_H_SLIDE, - [SPECIES_REMORAID - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_REMORAID - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_OCTILLERY - 1] = ANIM_V_STRETCH, - [SPECIES_DELIBIRD - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_DELIBIRD - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MANTINE - 1] = ANIM_SWING_CONVEX, - [SPECIES_SKARMORY - 1] = ANIM_V_STRETCH, + [SPECIES_SKARMORY - 1] = ANIM_V_SHAKE, [SPECIES_HOUNDOUR - 1] = ANIM_V_STRETCH, [SPECIES_HOUNDOOM - 1] = ANIM_V_SHAKE, [SPECIES_KINGDRA - 1] = ANIM_CIRCLE_INTO_BG, [SPECIES_PHANPY - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_DONPHAN - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_DONPHAN - 1] = ANIM_ROTATE_UP_SLAM_DOWN, [SPECIES_PORYGON2 - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_STANTLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SMEARGLE - 1] = ANIM_H_JUMPS, - [SPECIES_TYROGUE - 1] = ANIM_H_STRETCH, + [SPECIES_SMEARGLE - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_TYROGUE - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_HITMONTOP - 1] = ANIM_H_VIBRATE, [SPECIES_SMOOCHUM - 1] = ANIM_GROW_VIBRATE, [SPECIES_ELEKID - 1] = ANIM_FLASH_YELLOW, [SPECIES_MAGBY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MILTANK - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_BLISSEY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RAIKOU - 1] = ANIM_FLASH_YELLOW, + [SPECIES_RAIKOU - 1] = ANIM_V_STRETCH, [SPECIES_ENTEI - 1] = ANIM_GROW_VIBRATE, [SPECIES_SUICUNE - 1] = ANIM_V_SHAKE, [SPECIES_LARVITAR - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_PUPITAR - 1] = ANIM_V_SHAKE, - [SPECIES_TYRANITAR - 1] = ANIM_H_SHAKE, + [SPECIES_PUPITAR - 1] = ANIM_H_SHAKE, + [SPECIES_TYRANITAR - 1] = ANIM_V_SHAKE, [SPECIES_LUGIA - 1] = ANIM_GROW_IN_STAGES, [SPECIES_HO_OH - 1] = ANIM_GROW_VIBRATE, - [SPECIES_CELEBI - 1] = ANIM_RISING_WOBBLE, + [SPECIES_CELEBI - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_TREECKO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GROVYLE - 1] = ANIM_V_STRETCH, [SPECIES_SCEPTILE - 1] = ANIM_V_SHAKE, - [SPECIES_TORCHIC - 1] = ANIM_H_STRETCH, + [SPECIES_TORCHIC - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_COMBUSKEN - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_BLAZIKEN - 1] = ANIM_H_SHAKE, [SPECIES_MUDKIP - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_MARSHTOMP - 1] = ANIM_V_SLIDE, - [SPECIES_SWAMPERT - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_MARSHTOMP - 1] = ANIM_V_STRETCH, + [SPECIES_SWAMPERT - 1] = ANIM_H_SHAKE, [SPECIES_POOCHYENA - 1] = ANIM_V_SHAKE, [SPECIES_MIGHTYENA - 1] = ANIM_V_SHAKE, [SPECIES_ZIGZAGOON - 1] = ANIM_H_SLIDE, @@ -2240,7 +2235,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_LOTAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_LOMBRE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_LUDICOLO - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - [SPECIES_SEEDOT - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_SEEDOT - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_NUZLEAF - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHIFTRY - 1] = ANIM_H_VIBRATE, [SPECIES_TAILLOW - 1] = ANIM_V_JUMPS_BIG, @@ -2249,7 +2244,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PELIPPER - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_RALTS - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_KIRLIA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GARDEVOIR - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GARDEVOIR - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_SURSKIT - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MASQUERAIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SHROOMISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2261,12 +2256,12 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_NINJASK - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SHEDINJA - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_WHISMUR - 1] = ANIM_H_SLIDE, - [SPECIES_LOUDRED - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_LOUDRED - 1] = ANIM_SHRINK_GROW, [SPECIES_EXPLOUD - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_MAKUHITA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_MAKUHITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_HARIYAMA - 1] = ANIM_ROTATE_UP_TO_SIDES, [SPECIES_AZURILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_NOSEPASS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, + [SPECIES_NOSEPASS - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_SKITTY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DELCATTY - 1] = ANIM_V_STRETCH, [SPECIES_SABLEYE - 1] = ANIM_GLOW_BLACK, @@ -2278,10 +2273,10 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_MEDICHAM - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_ELECTRIKE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_MANECTRIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PLUSLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MINUN - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_PLUSLE - 1] = ANIM_V_JUMPS_H_JUMPS, + [SPECIES_MINUN - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_VOLBEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ILLUMISE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_ILLUMISE - 1] = ANIM_RISING_WOBBLE, [SPECIES_ROSELIA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GULPIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SWALOT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, @@ -2300,8 +2295,8 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_FLYGON - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_CACNEA - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, [SPECIES_CACTURNE - 1] = ANIM_V_SLIDE, - [SPECIES_SWABLU - 1] = ANIM_V_SLIDE, - [SPECIES_ALTARIA - 1] = ANIM_H_STRETCH, + [SPECIES_SWABLU - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ALTARIA - 1] = ANIM_V_STRETCH, [SPECIES_ZANGOOSE - 1] = ANIM_GROW_VIBRATE, [SPECIES_SEVIPER - 1] = ANIM_V_STRETCH, [SPECIES_LUNATONE - 1] = ANIM_SWING_CONVEX_FAST, @@ -2317,11 +2312,11 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_ANORITH - 1] = ANIM_TWIST, [SPECIES_ARMALDO - 1] = ANIM_V_SHAKE, [SPECIES_FEEBAS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, - [SPECIES_MILOTIC - 1] = ANIM_GLOW_BLUE, + [SPECIES_MILOTIC - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_CASTFORM - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KECLEON - 1] = ANIM_FLICKER_INCREASING, [SPECIES_SHUPPET - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_BANETTE - 1] = ANIM_SWING_CONVEX, + [SPECIES_BANETTE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_DUSKULL - 1] = ANIM_ZIGZAG_FAST, [SPECIES_DUSCLOPS - 1] = ANIM_H_VIBRATE, [SPECIES_TROPIUS - 1] = ANIM_V_SHAKE, @@ -2330,7 +2325,7 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_WYNAUT - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_SNORUNT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GLALIE - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_SPHEAL - 1] = ANIM_SPIN, + [SPECIES_SPHEAL - 1] = ANIM_V_STRETCH, [SPECIES_SEALEO - 1] = ANIM_V_STRETCH, [SPECIES_WALREIN - 1] = ANIM_H_SHAKE, [SPECIES_CLAMPERL - 1] = ANIM_TWIST, @@ -2338,364 +2333,363 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_GOREBYSS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_RELICANTH - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_LUVDISC - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_BAGON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_BAGON - 1] = ANIM_H_SHAKE, [SPECIES_SHELGON - 1] = ANIM_V_SLIDE, [SPECIES_SALAMENCE - 1] = ANIM_H_SHAKE, [SPECIES_BELDUM - 1] = ANIM_H_SHAKE, [SPECIES_METANG - 1] = ANIM_V_SLIDE, [SPECIES_METAGROSS - 1] = ANIM_V_SHAKE, [SPECIES_REGIROCK - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_REGICE - 1] = ANIM_FOUR_PETAL, + [SPECIES_REGICE - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_REGISTEEL - 1] = ANIM_GROW_VIBRATE, - [SPECIES_LATIAS - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_LATIOS - 1] = ANIM_V_SHAKE, + [SPECIES_LATIAS - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_LATIOS - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, [SPECIES_KYOGRE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, [SPECIES_GROUDON - 1] = ANIM_V_SHAKE, [SPECIES_RAYQUAZA - 1] = ANIM_H_SHAKE, - [SPECIES_JIRACHI - 1] = ANIM_SWING_CONVEX, - [SPECIES_DEOXYS - 1] = ANIM_H_PIVOT, + [SPECIES_JIRACHI - 1] = ANIM_RISING_WOBBLE, + [SPECIES_DEOXYS - 1] = ANIM_GROW_VIBRATE, // Gen 4 - [SPECIES_TURTWIG - 1] = ANIM_V_SLIDE, - [SPECIES_GROTLE - 1] = ANIM_H_SLIDE, - [SPECIES_TORTERRA - 1] = ANIM_V_SHAKE, + [SPECIES_TURTWIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GROTLE - 1] = ANIM_V_STRETCH, + [SPECIES_TORTERRA - 1] = ANIM_H_SHAKE, [SPECIES_CHIMCHAR - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_MONFERNO - 1] = ANIM_H_SHAKE_SLOW, - [SPECIES_INFERNAPE - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_PIPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_PRINPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_EMPOLEON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_MONFERNO - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_INFERNAPE - 1] = ANIM_V_STRETCH, + [SPECIES_PIPLUP - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_PRINPLUP - 1] = ANIM_V_STRETCH, + [SPECIES_EMPOLEON - 1] = ANIM_V_STRETCH, [SPECIES_STARLY - 1] = ANIM_V_STRETCH, [SPECIES_STARAVIA - 1] = ANIM_V_STRETCH, - [SPECIES_STARAPTOR - 1] = ANIM_H_STRETCH, - [SPECIES_BIDOOF - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_BIBAREL - 1] = ANIM_GROW, - [SPECIES_KRICKETOT - 1] = ANIM_V_SHAKE, - [SPECIES_KRICKETUNE - 1] = ANIM_V_SHAKE, - [SPECIES_SHINX - 1] = ANIM_V_STRETCH, - [SPECIES_LUXIO - 1] = ANIM_V_STRETCH, + [SPECIES_STARAPTOR - 1] = ANIM_V_SHAKE, + [SPECIES_BIDOOF - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_BIBAREL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_KRICKETOT - 1] = ANIM_H_JUMPS, + [SPECIES_KRICKETUNE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_SHINX - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_LUXIO - 1] = ANIM_H_STRETCH, [SPECIES_LUXRAY - 1] = ANIM_GLOW_YELLOW, - [SPECIES_BUDEW - 1] = ANIM_SHRINK_GROW, - [SPECIES_ROSERADE - 1] = ANIM_GLOW_PURPLE, - [SPECIES_CRANIDOS - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_BUDEW - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_ROSERADE - 1] = ANIM_H_VIBRATE, + [SPECIES_CRANIDOS - 1] = ANIM_V_STRETCH, [SPECIES_RAMPARDOS - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_SHIELDON - 1] = ANIM_V_SHAKE, - [SPECIES_BASTIODON - 1] = ANIM_H_SHAKE, - [SPECIES_BURMY - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_WORMADAM - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_BASTIODON - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_BURMY - 1] = ANIM_V_STRETCH, + [SPECIES_WORMADAM - 1] = ANIM_SWING_CONVEX_FAST_SHORT, [SPECIES_MOTHIM - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_COMBEE - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_VESPIQUEN - 1] = ANIM_GLOW_ORANGE, + [SPECIES_VESPIQUEN - 1] = ANIM_LUNGE_GROW, [SPECIES_PACHIRISU - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BUIZEL - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_FLOATZEL - 1] = ANIM_SHRINK_GROW, - [SPECIES_CHERUBI - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_BUIZEL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLOATZEL - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_CHERUBI - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_CHERRIM - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_SHELLOS - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_GASTRODON - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_SHELLOS - 1] = ANIM_V_STRETCH, + [SPECIES_GASTRODON - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_AMBIPOM - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_DRIFLOON - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_DRIFBLIM - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_BUNEARY - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_BUNEARY - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_LOPUNNY - 1] = ANIM_SHRINK_GROW, - [SPECIES_MISMAGIUS - 1] = ANIM_SWING_CONVEX_FAST, - [SPECIES_HONCHKROW - 1] = ANIM_GLOW_BLACK, + [SPECIES_MISMAGIUS - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_HONCHKROW - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GLAMEOW - 1] = ANIM_GROW_VIBRATE, - [SPECIES_PURUGLY - 1] = ANIM_V_SHAKE, + [SPECIES_PURUGLY - 1] = ANIM_V_STRETCH, [SPECIES_CHINGLING - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_STUNKY - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_SKUNTANK - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_BRONZOR - 1] = ANIM_TWIST_TWICE, + [SPECIES_BRONZOR - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_BRONZONG - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_BONSLY - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_MIME_JR - 1] = ANIM_H_SLIDE_SHRINK, + [SPECIES_BONSLY - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_MIME_JR - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_HAPPINY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_CHATOT - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_SPIRITOMB - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_GIBLE - 1] = ANIM_V_JUMPS_BIG, + [SPECIES_GIBLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GABITE - 1] = ANIM_V_STRETCH, [SPECIES_GARCHOMP - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_MUNCHLAX - 1] = ANIM_SHRINK_GROW, - [SPECIES_RIOLU - 1] = ANIM_H_STRETCH, - [SPECIES_LUCARIO - 1] = ANIM_H_SHAKE, + [SPECIES_MUNCHLAX - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RIOLU - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_LUCARIO - 1] = ANIM_V_STRETCH, [SPECIES_HIPPOPOTAS - 1] = ANIM_V_STRETCH, - [SPECIES_HIPPOWDON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SKORUPI - 1] = ANIM_V_SHAKE, + [SPECIES_HIPPOWDON - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_SKORUPI - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_DRAPION - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_CROAGUNK - 1] = ANIM_GLOW_PURPLE, - [SPECIES_TOXICROAK - 1] = ANIM_V_SLIDE, - [SPECIES_CARNIVINE - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_FINNEON - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, - [SPECIES_LUMINEON - 1] = ANIM_GLOW_BLUE, + [SPECIES_CROAGUNK - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_TOXICROAK - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CARNIVINE - 1] = ANIM_FIGURE_8, + [SPECIES_FINNEON - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, + [SPECIES_LUMINEON - 1] = ANIM_H_STRETCH, [SPECIES_MANTYKE - 1] = ANIM_TWIST_TWICE, - [SPECIES_SNOVER - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_SNOVER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ABOMASNOW - 1] = ANIM_H_SHAKE, - [SPECIES_WEAVILE - 1] = ANIM_H_SHAKE, - [SPECIES_MAGNEZONE - 1] = ANIM_GLOW_YELLOW, - [SPECIES_LICKILICKY - 1] = ANIM_ROTATE_UP_SLAM_DOWN, - [SPECIES_RHYPERIOR - 1] = ANIM_LUNGE_GROW, - [SPECIES_TANGROWTH - 1] = ANIM_GROW_IN_STAGES, + [SPECIES_WEAVILE - 1] = ANIM_H_VIBRATE, + [SPECIES_MAGNEZONE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_LICKILICKY - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_RHYPERIOR - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_TANGROWTH - 1] = ANIM_H_STRETCH, [SPECIES_ELECTIVIRE - 1] = ANIM_GLOW_YELLOW, - [SPECIES_MAGMORTAR - 1] = ANIM_GLOW_RED, - [SPECIES_TOGEKISS - 1] = ANIM_TIP_MOVE_FORWARD, - [SPECIES_YANMEGA - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_LEAFEON - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_MAGMORTAR - 1] = ANIM_V_STRETCH, + [SPECIES_TOGEKISS - 1] = ANIM_SWING_CONVEX, + [SPECIES_YANMEGA - 1] = ANIM_H_VIBRATE, + [SPECIES_LEAFEON - 1] = ANIM_SHRINK_GROW, [SPECIES_GLACEON - 1] = ANIM_V_STRETCH, - [SPECIES_GLISCOR - 1] = ANIM_TWIST, - [SPECIES_MAMOSWINE - 1] = ANIM_V_JUMPS_BIG, - [SPECIES_PORYGON_Z - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_GALLADE - 1] = ANIM_SHRINK_GROW, - [SPECIES_PROBOPASS - 1] = ANIM_SWING_CONVEX_FAST, - [SPECIES_DUSKNOIR - 1] = ANIM_GLOW_BLACK, + [SPECIES_GLISCOR - 1] = ANIM_SWING_CONVEX, + [SPECIES_MAMOSWINE - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_PORYGON_Z - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_GALLADE - 1] = ANIM_H_VIBRATE, + [SPECIES_PROBOPASS - 1] = ANIM_V_SLIDE, + [SPECIES_DUSKNOIR - 1] = ANIM_H_SLIDE, [SPECIES_FROSLASS - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_ROTOM - 1] = ANIM_GLOW_YELLOW, - [SPECIES_UXIE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_UXIE - 1] = ANIM_SWING_CONCAVE, [SPECIES_MESPRIT - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_AZELF - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_DIALGA - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, - [SPECIES_PALKIA - 1] = ANIM_H_SHAKE, - [SPECIES_HEATRAN - 1] = ANIM_GLOW_RED, - [SPECIES_REGIGIGAS - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_GIRATINA - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_AZELF - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_DIALGA - 1] = ANIM_H_SHAKE, + [SPECIES_PALKIA - 1] = ANIM_V_SHAKE, + [SPECIES_HEATRAN - 1] = ANIM_GLOW_ORANGE, + [SPECIES_REGIGIGAS - 1] = ANIM_V_SHAKE, + [SPECIES_GIRATINA - 1] = ANIM_GROW_VIBRATE, [SPECIES_CRESSELIA - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_PHIONE - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_MANAPHY - 1] = ANIM_V_STRETCH, + [SPECIES_PHIONE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MANAPHY - 1] = ANIM_SWING_CONVEX, [SPECIES_DARKRAI - 1] = ANIM_GLOW_BLACK, - [SPECIES_SHAYMIN - 1] = ANIM_SHRINK_GROW, - [SPECIES_ARCEUS - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_SHAYMIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ARCEUS - 1] = ANIM_GROW_VIBRATE, - // Gen 5 Todo: Assign proper ones. - [SPECIES_VICTINI - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SNIVY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SERVINE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SERPERIOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TEPIG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PIGNITE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EMBOAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_OSHAWOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DEWOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SAMUROTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PATRAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WATCHOG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LILLIPUP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HERDIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_STOUTLAND - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PURRLOIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LIEPARD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANSAGE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMISAGE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANSEAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMISEAR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PANPOUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIMIPOUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MUNNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MUSHARNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PIDOVE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TRANQUILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_UNFEZANT - 1] = ANIM_V_STRETCH, - [SPECIES_BLITZLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZEBSTRIKA - 1] = ANIM_V_SQUISH_AND_BOUNCE, + // Gen 5 + [SPECIES_VICTINI - 1] = ANIM_H_JUMPS, + [SPECIES_SNIVY - 1] = ANIM_V_STRETCH, + [SPECIES_SERVINE - 1] = ANIM_V_STRETCH, + [SPECIES_SERPERIOR - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_TEPIG - 1] = ANIM_H_SLIDE, + [SPECIES_PIGNITE - 1] = ANIM_V_STRETCH, + [SPECIES_EMBOAR - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_OSHAWOTT - 1] = ANIM_H_JUMPS, + [SPECIES_DEWOTT - 1] = ANIM_H_VIBRATE, + [SPECIES_SAMUROTT - 1] = ANIM_V_SHAKE, + [SPECIES_PATRAT - 1] = ANIM_V_STRETCH, + [SPECIES_WATCHOG - 1] = ANIM_V_STRETCH, + [SPECIES_LILLIPUP - 1] = ANIM_H_JUMPS, + [SPECIES_HERDIER - 1] = ANIM_H_STRETCH, + [SPECIES_STOUTLAND - 1] = ANIM_H_SLIDE, + [SPECIES_PURRLOIN - 1] = ANIM_GROW_VIBRATE, + [SPECIES_LIEPARD - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PANSAGE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SIMISAGE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_PANSEAR - 1] = ANIM_V_STRETCH, + [SPECIES_SIMISEAR - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_PANPOUR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SIMIPOUR - 1] = ANIM_H_STRETCH, + [SPECIES_MUNNA - 1] = ANIM_RISING_WOBBLE, + [SPECIES_MUSHARNA - 1] = ANIM_ROTATE_TO_SIDES_TWICE, + [SPECIES_PIDOVE - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_TRANQUILL - 1] = ANIM_V_STRETCH, + [SPECIES_UNFEZANT - 1] = ANIM_SHRINK_GROW, + [SPECIES_BLITZLE - 1] = ANIM_V_STRETCH, + [SPECIES_ZEBSTRIKA - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_ROGGENROLA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BOLDORE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GIGALITH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WOOBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWOOBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRILBUR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EXCADRILL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AUDINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BOLDORE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_GIGALITH - 1] = ANIM_ROTATE_UP_SLAM_DOWN, + [SPECIES_WOOBAT - 1] = ANIM_FOUR_PETAL, + [SPECIES_SWOOBAT - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_DRILBUR - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_EXCADRILL - 1] = ANIM_H_SHAKE, + [SPECIES_AUDINO - 1] = ANIM_V_STRETCH, [SPECIES_TIMBURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GURDURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CONKELDURR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TYMPOLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PALPITOAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SEISMITOAD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_THROH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SAWK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SEWADDLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWADLOON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LEAVANNY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VENIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WHIRLIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SCOLIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GURDURR - 1] = ANIM_GROW_VIBRATE, + [SPECIES_CONKELDURR - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_TYMPOLE - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_PALPITOAD - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SEISMITOAD - 1] = ANIM_H_JUMPS, + [SPECIES_THROH - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_SAWK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SEWADDLE - 1] = ANIM_CIRCLE_INTO_BG, + [SPECIES_SWADLOON - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_LEAVANNY - 1] = ANIM_GROW_VIBRATE, + [SPECIES_VENIPEDE - 1] = ANIM_H_SLIDE, + [SPECIES_WHIRLIPEDE - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_SCOLIPEDE - 1] = ANIM_H_SHAKE, [SPECIES_COTTONEE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_WHIMSICOTT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PETILIL - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_WHIMSICOTT - 1] = ANIM_SHRINK_GROW, + [SPECIES_PETILIL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_LILLIGANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BASCULIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BASCULIN - 1] = ANIM_TIP_MOVE_FORWARD, [SPECIES_SANDILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KROKOROK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KROOKODILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DARUMAKA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DARMANITAN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MARACTUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_KROKOROK - 1] = ANIM_V_STRETCH, + [SPECIES_KROOKODILE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_DARUMAKA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_DARMANITAN - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_MARACTUS - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_DWEBBLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CRUSTLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SCRAGGY - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CRUSTLE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_SCRAGGY - 1] = ANIM_V_STRETCH, [SPECIES_SCRAFTY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIGILYPH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_YAMASK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_COFAGRIGUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TIRTOUGA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CARRACOSTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCHEN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCHEOPS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SIGILYPH - 1] = ANIM_FIGURE_8, + [SPECIES_YAMASK - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_COFAGRIGUS - 1] = ANIM_GLOW_BLACK, + [SPECIES_TIRTOUGA - 1] = ANIM_RISING_WOBBLE, + [SPECIES_CARRACOSTA - 1] = ANIM_H_SHAKE_SLOW, + [SPECIES_ARCHEN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_ARCHEOPS - 1] = ANIM_RISING_WOBBLE, [SPECIES_TRUBBISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GARBODOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZORUA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZOROARK - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_GARBODOR - 1] = ANIM_V_STRETCH, + [SPECIES_ZORUA - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_ZOROARK - 1] = ANIM_FLICKER_INCREASING, [SPECIES_MINCCINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CINCCINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOTHITELLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SOLOSIS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DUOSION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_REUNICLUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DUCKLETT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SWANNA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLITE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VANILLUXE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_CINCCINO - 1] = ANIM_V_SLIDE, + [SPECIES_GOTHITA - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_GOTHORITA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_GOTHITELLE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SOLOSIS - 1] = ANIM_TWIST, + [SPECIES_DUOSION - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_REUNICLUS - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_DUCKLETT - 1] = ANIM_V_STRETCH, + [SPECIES_SWANNA - 1] = ANIM_V_STRETCH, + [SPECIES_VANILLITE - 1] = ANIM_H_SLIDE, + [SPECIES_VANILLISH - 1] = ANIM_GROW_VIBRATE, + [SPECIES_VANILLUXE - 1] = ANIM_GROW_VIBRATE, [SPECIES_DEERLING - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SAWSBUCK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EMOLGA - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_EMOLGA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_KARRABLAST - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ESCAVALIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FOONGUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AMOONGUSS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FRILLISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ESCAVALIER - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_FOONGUS - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_AMOONGUSS - 1] = ANIM_H_SLIDE, + [SPECIES_FRILLISH - 1] = ANIM_RISING_WOBBLE, [SPECIES_JELLICENT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ALOMOMOLA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_JOLTIK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GALVANTULA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FERROSEED - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_FERROTHORN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLINK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLANG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_KLINKLANG - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TYNAMO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ALOMOMOLA - 1] = ANIM_SWING_CONCAVE, + [SPECIES_JOLTIK - 1] = ANIM_H_SLIDE, + [SPECIES_GALVANTULA - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_FERROSEED - 1] = ANIM_H_VIBRATE, + [SPECIES_FERROTHORN - 1] = ANIM_V_SHAKE, + [SPECIES_KLINK - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_KLANG - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_KLINKLANG - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_TYNAMO - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_EELEKTRIK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_EELEKTROSS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ELGYEM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BEHEEYEM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LITWICK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LAMPENT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CHANDELURE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_AXEW - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_EELEKTROSS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_ELGYEM - 1] = ANIM_RISING_WOBBLE, + [SPECIES_BEHEEYEM - 1] = ANIM_GROW_VIBRATE, + [SPECIES_LITWICK - 1] = ANIM_V_STRETCH, + [SPECIES_LAMPENT - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_CHANDELURE - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_AXEW - 1] = ANIM_H_SHAKE, [SPECIES_FRAXURE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HAXORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_HAXORUS - 1] = ANIM_H_SHAKE, [SPECIES_CUBCHOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BEARTIC - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CRYOGONAL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SHELMET - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ACCELGOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_BEARTIC - 1] = ANIM_H_SHAKE, + [SPECIES_CRYOGONAL - 1] = ANIM_SHRINK_GROW, + [SPECIES_SHELMET - 1] = ANIM_TWIST, + [SPECIES_ACCELGOR - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_STUNFISK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MIENFOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MIENFOO - 1] = ANIM_H_VIBRATE, [SPECIES_MIENSHAO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DRUDDIGON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOLETT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GOLURK - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PAWNIARD - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BISHARP - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BOUFFALANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RUFFLET - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DRUDDIGON - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW, + [SPECIES_GOLETT - 1] = ANIM_V_SHAKE, + [SPECIES_GOLURK - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_PAWNIARD - 1] = ANIM_H_VIBRATE, + [SPECIES_BISHARP - 1] = ANIM_H_STRETCH, + [SPECIES_BOUFFALANT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_RUFFLET - 1] = ANIM_V_STRETCH, [SPECIES_BRAVIARY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_VULLABY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MANDIBUZZ - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HEATMOR - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DURANT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MANDIBUZZ - 1] = ANIM_V_STRETCH, + [SPECIES_HEATMOR - 1] = ANIM_H_SHAKE, + [SPECIES_DURANT - 1] = ANIM_RAPID_H_HOPS, [SPECIES_DEINO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZWEILOUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HYDREIGON - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LARVESTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VOLCARONA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_COBALION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TERRAKION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_VIRIZION - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_TORNADUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_THUNDURUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_RESHIRAM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ZEKROM - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_LANDORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZWEILOUS - 1] = ANIM_H_STRETCH, + [SPECIES_HYDREIGON - 1] = ANIM_RISING_WOBBLE, + [SPECIES_LARVESTA - 1] = ANIM_GLOW_ORANGE, + [SPECIES_VOLCARONA - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_COBALION - 1] = ANIM_V_STRETCH, + [SPECIES_TERRAKION - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_VIRIZION - 1] = ANIM_GROW_VIBRATE, + [SPECIES_TORNADUS - 1] = ANIM_FIGURE_8, + [SPECIES_THUNDURUS - 1] = ANIM_FIGURE_8, + [SPECIES_RESHIRAM - 1] = ANIM_V_SHAKE, + [SPECIES_ZEKROM - 1] = ANIM_V_SHAKE, + [SPECIES_LANDORUS - 1] = ANIM_FIGURE_8, [SPECIES_KYUREM - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_KELDEO - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_MELOETTA - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GENESECT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MELOETTA - 1] = ANIM_GROW_VIBRATE, + [SPECIES_GENESECT - 1] = ANIM_H_VIBRATE, //Gen 6 - [SPECIES_CHESPIN - 1] = ANIM_H_JUMPS, - [SPECIES_QUILLADIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CHESNAUGHT - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_CHESPIN - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_QUILLADIN - 1] = ANIM_LUNGE_GROW, + [SPECIES_CHESNAUGHT - 1] = ANIM_GROW_IN_STAGES, [SPECIES_FENNEKIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_BRAIXEN - 1] = ANIM_SHAKE_GLOW_RED_SLOW, - [SPECIES_DELPHOX - 1] = ANIM_V_STRETCH, - [SPECIES_FROAKIE - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_FROGADIER - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_GRENINJA - 1] = ANIM_SHRINK_GROW, + [SPECIES_BRAIXEN - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DELPHOX - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FROAKIE - 1] = ANIM_H_JUMPS, + [SPECIES_FROGADIER - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_GRENINJA - 1] = ANIM_V_STRETCH, [SPECIES_BUNNELBY - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_DIGGERSBY - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_FLETCHLING - 1] = ANIM_H_STRETCH, - [SPECIES_FLETCHINDER - 1] = ANIM_GROW_VIBRATE, - [SPECIES_TALONFLAME - 1] = ANIM_GROW_IN_STAGES, - [SPECIES_SCATTERBUG - 1] = ANIM_H_JUMPS, + [SPECIES_DIGGERSBY - 1] = ANIM_H_JUMPS_V_STRETCH, + [SPECIES_FLETCHLING - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_FLETCHINDER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TALONFLAME - 1] = ANIM_SWING_CONCAVE_FAST, + [SPECIES_SCATTERBUG - 1] = ANIM_V_STRETCH, [SPECIES_SPEWPA - 1] = ANIM_V_SHAKE, - [SPECIES_VIVILLON - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_VIVILLON - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_LITLEO - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_PYROAR - 1] = ANIM_GROW_VIBRATE, - [SPECIES_FLABEBE - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_FLOETTE - 1] = ANIM_SWING_CONVEX, - [SPECIES_FLORGES - 1] = ANIM_V_SLIDE_SLOW, - [SPECIES_SKIDDO - 1] = ANIM_H_STRETCH, + [SPECIES_PYROAR - 1] = ANIM_V_SHAKE, + [SPECIES_FLABEBE - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLOETTE - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLORGES - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SKIDDO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOGOAT - 1] = ANIM_V_STRETCH, - [SPECIES_PANCHAM - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_PANGORO - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_FURFROU - 1] = ANIM_H_STRETCH, - [SPECIES_ESPURR - 1] = ANIM_H_STRETCH, - [SPECIES_MEOWSTIC - 1] = ANIM_SHRINK_GROW, + [SPECIES_PANCHAM - 1] = ANIM_H_STRETCH, + [SPECIES_PANGORO - 1] = ANIM_BACK_AND_LUNGE, + [SPECIES_FURFROU - 1] = ANIM_H_SLIDE, + [SPECIES_ESPURR - 1] = ANIM_V_STRETCH, + [SPECIES_MEOWSTIC - 1] = ANIM_GROW_VIBRATE, [SPECIES_HONEDGE - 1] = ANIM_SWING_CONVEX, - [SPECIES_DOUBLADE - 1] = ANIM_SWING_CONVEX, + [SPECIES_DOUBLADE - 1] = ANIM_GROW_VIBRATE, [SPECIES_AEGISLASH - 1] = ANIM_H_VIBRATE, [SPECIES_SPRITZEE - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_AROMATISSE - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_SWIRLIX - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_SLURPUFF - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SLURPUFF - 1] = ANIM_V_STRETCH, [SPECIES_INKAY - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_MALAMAR - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_BINACLE - 1] = ANIM_V_STRETCH, - [SPECIES_BARBARACLE - 1] = ANIM_ROTATE_UP_SLAM_DOWN, + [SPECIES_BINACLE - 1] = ANIM_H_SLIDE, + [SPECIES_BARBARACLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SKRELP - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_DRAGALGE - 1] = ANIM_SHRINK_GROW, - [SPECIES_CLAUNCHER - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_CLAWITZER - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_HELIOPTILE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_HELIOLISK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DRAGALGE - 1] = ANIM_FRONT_FLIP, + [SPECIES_CLAUNCHER - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_CLAWITZER - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_HELIOPTILE - 1] = ANIM_GLOW_YELLOW, + [SPECIES_HELIOLISK - 1] = ANIM_RAPID_H_HOPS, [SPECIES_TYRUNT - 1] = ANIM_V_SHAKE, - [SPECIES_TYRANTRUM - 1] = ANIM_H_SHAKE, - [SPECIES_AMAURA - 1] = ANIM_V_STRETCH, - [SPECIES_AURORUS - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_SYLVEON - 1] = ANIM_H_STRETCH, - [SPECIES_HAWLUCHA - 1] = ANIM_H_STRETCH, - [SPECIES_DEDENNE - 1] = ANIM_V_JUMPS_SMALL, - [SPECIES_CARBINK - 1] = ANIM_SWING_CONVEX, - [SPECIES_GOOMY - 1] = ANIM_CIRCULAR_STRETCH_TWICE, - [SPECIES_SLIGGOO - 1] = ANIM_H_SPRING_SLOW, + [SPECIES_TYRANTRUM - 1] = ANIM_V_SHAKE, + [SPECIES_AMAURA - 1] = ANIM_H_STRETCH, + [SPECIES_AURORUS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SYLVEON - 1] = ANIM_SHRINK_GROW, + [SPECIES_HAWLUCHA - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_DEDENNE - 1] = ANIM_GLOW_YELLOW, + [SPECIES_CARBINK - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_GOOMY - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, + [SPECIES_SLIGGOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOODRA - 1] = ANIM_V_SHAKE, - [SPECIES_KLEFKI - 1] = ANIM_SWING_CONVEX, - [SPECIES_PHANTUMP - 1] = ANIM_V_SLIDE_WOBBLE, - [SPECIES_TREVENANT - 1] = ANIM_FLICKER_INCREASING, - [SPECIES_PUMPKABOO - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_GOURGEIST - 1] = ANIM_SWING_CONVEX, - [SPECIES_BERGMITE - 1] = ANIM_V_SHAKE, - [SPECIES_AVALUGG - 1] = ANIM_ROTATE_UP_SLAM_DOWN, - [SPECIES_NOIBAT - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, - [SPECIES_NOIVERN - 1] = ANIM_GROW_VIBRATE, - [SPECIES_XERNEAS - 1] = ANIM_GLOW_YELLOW, - [SPECIES_YVELTAL - 1] = ANIM_SHAKE_GLOW_BLACK_SLOW, - [SPECIES_ZYGARDE - 1] = ANIM_GROW_VIBRATE, - [SPECIES_DIANCIE - 1] = ANIM_SWING_CONVEX, + [SPECIES_KLEFKI - 1] = ANIM_FOUR_PETAL, + [SPECIES_PHANTUMP - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TREVENANT - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_PUMPKABOO - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_GOURGEIST - 1] = ANIM_SHRINK_GROW, + [SPECIES_BERGMITE - 1] = ANIM_LUNGE_GROW, + [SPECIES_AVALUGG - 1] = ANIM_V_SHAKE, + [SPECIES_NOIBAT - 1] = ANIM_RISING_WOBBLE, + [SPECIES_NOIVERN - 1] = ANIM_V_STRETCH, + [SPECIES_XERNEAS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_YVELTAL - 1] = ANIM_FRONT_FLIP, + [SPECIES_ZYGARDE - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_DIANCIE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_HOOPA - 1] = ANIM_ZIGZAG_SLOW, - [SPECIES_VOLCANION - 1] = ANIM_V_SHAKE, - + [SPECIES_VOLCANION - 1] = ANIM_V_SHAKE_TWICE, // Gen 7 [SPECIES_ROWLET - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DARTRIX - 1] = ANIM_H_STRETCH, @@ -2883,30 +2877,162 @@ static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_SNEASLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_OVERQWIL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ENAMORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEOXYS_ATTACK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_DEFENSE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_SPEED - 1] = ANIM_GROW_VIBRATE, - // Forms - [SPECIES_ROTOM_HEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_FROST - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_FAN - 1] = ANIM_FIGURE_8, - [SPECIES_ROTOM_MOW - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROTOM_WASH - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ARCEUS_FIGHTING - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FLYING - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_POISON - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GROUND - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ROCK - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_BUG - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GHOST - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_STEEL - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FIRE - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_WATER - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_GRASS - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ELECTRIC - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_PSYCHIC - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_ICE - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_DRAGON - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_DARK - 1] = ANIM_CIRCULAR_VIBRATE, - [SPECIES_ARCEUS_FAIRY - 1] = ANIM_CIRCULAR_VIBRATE, + //Gen 4 Forms + [SPECIES_BURMY_SANDY_CLOAK - 1] = ANIM_V_STRETCH, + [SPECIES_BURMY_TRASH_CLOAK - 1] = ANIM_V_STRETCH, + [SPECIES_WORMADAM_SANDY_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, + [SPECIES_WORMADAM_TRASH_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, + [SPECIES_CHERRIM_SUNSHINE - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_SHELLOS_EAST_SEA - 1] = ANIM_V_STRETCH, + [SPECIES_GASTRODON_EAST_SEA - 1] = ANIM_CIRCULAR_STRETCH_TWICE, + [SPECIES_ROTOM_HEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ROTOM_WASH - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_ROTOM_FROST - 1] = ANIM_H_STRETCH, + [SPECIES_ROTOM_FAN - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_ROTOM_MOW - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_GIRATINA_ORIGIN - 1] = ANIM_LUNGE_GROW, + [SPECIES_SHAYMIN_SKY - 1] = ANIM_V_STRETCH, + [SPECIES_ARCEUS_FIGHTING - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FLYING - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_POISON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GROUND - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ROCK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_BUG - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GHOST - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_STEEL - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FIRE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_WATER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_GRASS - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ELECTRIC - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_PSYCHIC - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_ICE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_DRAGON - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_DARK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ARCEUS_FAIRY - 1] = ANIM_GROW_VIBRATE, + //Gen 5 Forms + [SPECIES_BASCULIN_BLUE_STRIPED - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_DARMANITAN_ZEN_MODE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEERLING_SUMMER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEERLING_AUTUMN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DEERLING_WINTER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_SUMMER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_AUTUMN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SAWSBUCK_WINTER - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_TORNADUS_THERIAN - 1] = ANIM_V_STRETCH, + [SPECIES_THUNDURUS_THERIAN - 1] = ANIM_RISING_WOBBLE, + [SPECIES_LANDORUS_THERIAN - 1] = ANIM_CIRCULAR_VIBRATE, + [SPECIES_KYUREM_WHITE - 1] = ANIM_H_SHAKE, + [SPECIES_KYUREM_BLACK - 1] = ANIM_V_SHAKE, + [SPECIES_KELDEO_RESOLUTE - 1] = ANIM_V_STRETCH, + [SPECIES_MELOETTA_PIROUETTE - 1] = ANIM_H_SLIDE_SLOW, + [SPECIES_GENESECT_DOUSE_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_SHOCK_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_BURN_DRIVE - 1] = ANIM_H_VIBRATE, + [SPECIES_GENESECT_CHILL_DRIVE - 1] = ANIM_H_VIBRATE, + //Gen 6 Forms + [SPECIES_GRENINJA_ASH - 1] = ANIM_FLICKER_INCREASING, + [SPECIES_VIVILLON_POLAR - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_TUNDRA - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_CONTINENTAL - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_GARDEN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_ELEGANT - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MEADOW - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MODERN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MARINE - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_ARCHIPELAGO - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_HIGH_PLAINS - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SANDSTORM - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_RIVER - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_MONSOON - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SAVANNA - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_SUN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_OCEAN - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_JUNGLE - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_FANCY - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_VIVILLON_POKE_BALL - 1] = ANIM_ZIGZAG_SLOW, + [SPECIES_FLABEBE_YELLOW_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_ORANGE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_BLUE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLABEBE_WHITE_FLOWER - 1] = ANIM_SWING_CONCAVE_FAST_SHORT, + [SPECIES_FLOETTE_YELLOW_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_ORANGE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_BLUE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_WHITE_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLOETTE_ETERNAL_FLOWER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_FLORGES_YELLOW_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_ORANGE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_BLUE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FLORGES_WHITE_FLOWER - 1] = ANIM_GROW_VIBRATE, + [SPECIES_FURFROU_HEART_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_STAR_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DIAMOND_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DEBUTANTE_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_MATRON_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_DANDY_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_LA_REINE_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_KABUKI_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_FURFROU_PHARAOH_TRIM - 1] = ANIM_H_SLIDE, + [SPECIES_MEOWSTIC_FEMALE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_AEGISLASH_BLADE - 1] = ANIM_CIRCLE_C_CLOCKWISE_SLOW, + [SPECIES_PUMPKABOO_SMALL - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_PUMPKABOO_LARGE - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_PUMPKABOO_SUPER - 1] = ANIM_V_SLIDE_WOBBLE, + [SPECIES_GOURGEIST_SMALL - 1] = ANIM_SHRINK_GROW, + [SPECIES_GOURGEIST_LARGE - 1] = ANIM_SHRINK_GROW, + [SPECIES_GOURGEIST_SUPER - 1] = ANIM_SHRINK_GROW, + [SPECIES_XERNEAS_ACTIVE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_ZYGARDE_10 - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZYGARDE_10_POWER_CONSTRUCT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ZYGARDE_50_POWER_CONSTRUCT - 1] = ANIM_TIP_MOVE_FORWARD, + [SPECIES_ZYGARDE_COMPLETE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_HOOPA_UNBOUND - 1] = ANIM_GROW_IN_STAGES, + //Gen 7 Forms + [SPECIES_ORICORIO_POM_POM - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ORICORIO_PAU - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ORICORIO_SENSU - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_ROCKRUFF_OWN_TEMPO - 1] = ANIM_V_STRETCH, + [SPECIES_LYCANROC_MIDNIGHT - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_LYCANROC_DUSK - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_WISHIWASHI_SCHOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_SILVALLY_FIGHTING - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FLYING - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_POISON - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GROUND - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ROCK - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_BUG - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GHOST - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_STEEL - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FIRE - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_WATER - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_GRASS - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ELECTRIC - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_PSYCHIC - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_ICE - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_DRAGON - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_DARK - 1] = ANIM_V_SHAKE, + [SPECIES_SILVALLY_FAIRY - 1] = ANIM_V_SHAKE, + [SPECIES_MINIOR_METEOR_ORANGE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_YELLOW - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_GREEN - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_BLUE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_INDIGO - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_METEOR_VIOLET - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_RED - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_ORANGE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_YELLOW - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_GREEN - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_BLUE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_INDIGO - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MINIOR_CORE_VIOLET - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, + [SPECIES_MIMIKYU_BUSTED - 1] = ANIM_DEEP_V_SQUISH_AND_BOUNCE, + [SPECIES_NECROZMA_DUSK_MANE - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_NECROZMA_DAWN_WINGS - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_NECROZMA_ULTRA - 1] = ANIM_V_SQUISH_AND_BOUNCE, //Todo + [SPECIES_MAGEARNA_ORIGINAL_COLOR - 1] = ANIM_H_SLIDE_SLOW, }; static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = @@ -3329,30 +3455,47 @@ 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 (gBaseStats[species].flags & SPECIES_FLAG_SHINY_LOCKED) +#if P_FLAG_FORCE_NO_SHINY != 0 + if (FlagGet(P_FLAG_FORCE_NO_SHINY)) { - do - { - // Choose random personalities until one that results in a non-shiny Pokémon + while (GET_SHINY_VALUE(value, personality) < SHINY_ODDS) personality = Random32(); - shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); - } while (shinyValue < SHINY_ODDS); } - else if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) +#endif +#if P_FLAG_FORCE_SHINY != 0 + #if P_FLAG_FORCE_NO_SHINY != 0 + else + #endif + if (FlagGet(P_FLAG_FORCE_SHINY)) { - u32 rolls = 0; - do + while (GET_SHINY_VALUE(value, personality) >= SHINY_ODDS) + personality = Random32(); + } +#endif +#if P_FLAG_FORCE_SHINY != 0 || P_FLAG_FORCE_NO_SHINY != 0 + else +#endif + { + #if P_SHINY_BASE_CHANCE >= GEN_6 + u32 totalRerolls = 1; + #else + u32 totalRerolls = 0; + #endif + if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) + totalRerolls += I_SHINY_CHARM_REROLLS; + if (LURE_STEP_COUNT != 0) + totalRerolls += 1; + + while (GET_SHINY_VALUE(value, personality) >= SHINY_ODDS && totalRerolls > 0) { personality = Random32(); - shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); - rolls++; - } while (shinyValue >= SHINY_ODDS && rolls < I_SHINY_CHARM_REROLLS); + totalRerolls--; + } } } @@ -3367,8 +3510,8 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2Ptr->playerName); SetBoxMonData(boxMon, MON_DATA_SPECIES, &species); - SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]); - SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship); + SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gSpeciesInfo[species].growthRate][level]); + SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gSpeciesInfo[species].friendship); value = GetCurrentRegionMapSectionId(); SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value); SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level); @@ -3407,7 +3550,7 @@ 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) + if (gSpeciesInfo[species].flags & SPECIES_FLAG_ALL_PERFECT_IVS) { iv = MAX_PER_STAT_IVS; SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); @@ -3418,7 +3561,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); } #if P_LEGENDARY_PERFECT_IVS >= GEN_6 - else if (gBaseStats[species].flags & (SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_ULTRA_BEAST)) + else if (gSpeciesInfo[species].flags & (SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_MYTHICAL | SPECIES_FLAG_ULTRA_BEAST)) { iv = MAX_PER_STAT_IVS; // Initialize a list of IV indices. @@ -3462,7 +3605,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, #endif } - if (gBaseStats[species].abilities[1]) + if (gSpeciesInfo[species].abilities[1]) { value = personality & 1; SetBoxMonData(boxMon, MON_DATA_ABILITY_NUM, &value); @@ -3937,7 +4080,7 @@ static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) #define CALC_STAT(base, iv, ev, statIndex, field) \ { \ - u8 baseStat = gBaseStats[species].base; \ + u8 baseStat = gSpeciesInfo[species].base; \ s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ n = ModifyStatByNature(nature, n, statIndex); \ @@ -3972,7 +4115,7 @@ void CalculateMonStats(struct Pokemon *mon) } else { - s32 n = 2 * gBaseStats[species].baseHP + hpIV; + s32 n = 2 * gSpeciesInfo[species].baseHP + hpIV; newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; } @@ -4032,7 +4175,7 @@ u8 GetLevelFromMonExp(struct Pokemon *mon) u32 exp = GetMonData(mon, MON_DATA_EXP, NULL); s32 level = 1; - while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) + while (level <= MAX_LEVEL && gExperienceTables[gSpeciesInfo[species].growthRate][level] <= exp) level++; return level - 1; @@ -4044,7 +4187,7 @@ u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon) u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP, NULL); s32 level = 1; - while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) + while (level <= MAX_LEVEL && gExperienceTables[gSpeciesInfo[species].growthRate][level] <= exp) level++; return level - 1; @@ -4238,6 +4381,13 @@ u8 CountAliveMonsInBattle(u8 caseId) retVal++; } break; + case BATTLE_ALIVE_EXCEPT_ATTACKER: + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (i != gBattlerAttacker && !(gAbsentBattlerFlags & gBitTable[i])) + retVal++; + } + break; } return retVal; @@ -4279,15 +4429,15 @@ u8 GetBoxMonGender(struct BoxPokemon *boxMon) u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL); u32 personality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY, NULL); - switch (gBaseStats[species].genderRatio) + switch (gSpeciesInfo[species].genderRatio) { case MON_MALE: case MON_FEMALE: case MON_GENDERLESS: - return gBaseStats[species].genderRatio; + return gSpeciesInfo[species].genderRatio; } - if (gBaseStats[species].genderRatio > (personality & 0xFF)) + if (gSpeciesInfo[species].genderRatio > (personality & 0xFF)) return MON_FEMALE; else return MON_MALE; @@ -4295,15 +4445,15 @@ u8 GetBoxMonGender(struct BoxPokemon *boxMon) u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) { - switch (gBaseStats[species].genderRatio) + switch (gSpeciesInfo[species].genderRatio) { case MON_MALE: case MON_FEMALE: case MON_GENDERLESS: - return gBaseStats[species].genderRatio; + return gSpeciesInfo[species].genderRatio; } - if (gBaseStats[species].genderRatio > (personality & 0xFF)) + if (gSpeciesInfo[species].genderRatio > (personality & 0xFF)) return MON_FEMALE; else return MON_MALE; @@ -5333,7 +5483,7 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum) int i; if (abilityNum < NUM_ABILITY_SLOTS) - gLastUsedAbility = gBaseStats[species].abilities[abilityNum]; + gLastUsedAbility = gSpeciesInfo[species].abilities[abilityNum]; else gLastUsedAbility = ABILITY_NONE; @@ -5341,13 +5491,13 @@ u16 GetAbilityBySpecies(u16 species, u8 abilityNum) { for (i = NUM_NORMAL_ABILITY_SLOTS; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) { - gLastUsedAbility = gBaseStats[species].abilities[i]; + gLastUsedAbility = gSpeciesInfo[species].abilities[i]; } } for (i = 0; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) // look for any non-empty ability { - gLastUsedAbility = gBaseStats[species].abilities[i]; + gLastUsedAbility = gSpeciesInfo[species].abilities[i]; } return gLastUsedAbility; @@ -5499,8 +5649,8 @@ void PokemonToBattleMon(struct Pokemon *src, struct BattlePokemon *dst) dst->spDefense = GetMonData(src, MON_DATA_SPDEF, NULL); dst->abilityNum = GetMonData(src, MON_DATA_ABILITY_NUM, NULL); dst->otId = GetMonData(src, MON_DATA_OT_ID, NULL); - dst->type1 = gBaseStats[dst->species].type1; - dst->type2 = gBaseStats[dst->species].type2; + dst->type1 = gSpeciesInfo[dst->species].type1; + dst->type2 = gSpeciesInfo[dst->species].type2; dst->type3 = TYPE_MYSTERY; dst->ability = GetAbilityBySpecies(dst->species, dst->abilityNum); GetMonData(src, MON_DATA_NICKNAME, nickname); @@ -5752,14 +5902,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov if (param == 0) // Rare Candy { - dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; + dataUnsigned = gExperienceTables[gSpeciesInfo[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; } else if (param - 1 < ARRAY_COUNT(sExpCandyExperienceTable)) // EXP Candies { u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); dataUnsigned = sExpCandyExperienceTable[param - 1] + GetMonData(mon, MON_DATA_EXP, NULL); - if (dataUnsigned > gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]) - dataUnsigned = gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]; + if (dataUnsigned > gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]) + dataUnsigned = gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]; } if (dataUnsigned != 0) // Failsafe @@ -6553,8 +6703,8 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s for (j = 0; j < PARTY_SIZE; j++) { u16 currSpecies = GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL); - if (gBaseStats[currSpecies].type1 == TYPE_DARK - || gBaseStats[currSpecies].type2 == TYPE_DARK) + if (gSpeciesInfo[currSpecies].type1 == TYPE_DARK + || gSpeciesInfo[currSpecies].type2 == TYPE_DARK) { targetSpecies = gEvolutionTable[species][i].targetSpecies; break; @@ -7102,39 +7252,39 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) { case STAT_HP: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_HP) - evIncrease = (gBaseStats[defeatedSpecies].evYield_HP + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_HP + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_HP * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_HP * multiplier; break; case STAT_ATK: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_ATK) - evIncrease = (gBaseStats[defeatedSpecies].evYield_Attack + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_Attack + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_Attack * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_Attack * multiplier; break; case STAT_DEF: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_DEF) - evIncrease = (gBaseStats[defeatedSpecies].evYield_Defense + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_Defense + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_Defense * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_Defense * multiplier; break; case STAT_SPEED: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_SPEED) - evIncrease = (gBaseStats[defeatedSpecies].evYield_Speed + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_Speed + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_Speed * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_Speed * multiplier; break; case STAT_SPATK: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_SPATK) - evIncrease = (gBaseStats[defeatedSpecies].evYield_SpAttack + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_SpAttack + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_SpAttack * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_SpAttack * multiplier; break; case STAT_SPDEF: if (holdEffect == HOLD_EFFECT_POWER_ITEM && stat == STAT_SPDEF) - evIncrease = (gBaseStats[defeatedSpecies].evYield_SpDefense + bonus) * multiplier; + evIncrease = (gSpeciesInfo[defeatedSpecies].evYield_SpDefense + bonus) * multiplier; else - evIncrease = gBaseStats[defeatedSpecies].evYield_SpDefense * multiplier; + evIncrease = gSpeciesInfo[defeatedSpecies].evYield_SpDefense * multiplier; break; } @@ -7323,12 +7473,12 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 nextLevel = GetMonData(mon, MON_DATA_LEVEL, 0) + 1; u32 expPoints = GetMonData(mon, MON_DATA_EXP, 0); - if (expPoints > gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]) + if (expPoints > gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]) { - expPoints = gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL]; + expPoints = gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL]; SetMonData(mon, MON_DATA_EXP, &expPoints); } - if (nextLevel > MAX_LEVEL || expPoints < gExperienceTables[gBaseStats[species].growthRate][nextLevel]) + if (nextLevel > MAX_LEVEL || expPoints < gExperienceTables[gSpeciesInfo[species].growthRate][nextLevel]) { return FALSE; } @@ -7685,7 +7835,7 @@ bool32 IsHMMove2(u16 move) bool8 IsMonSpriteNotFlipped(u16 species) { - return gBaseStats[species].noFlip; + return gSpeciesInfo[species].noFlip; } s8 GetMonFlavorRelation(struct Pokemon *mon, u8 flavor) @@ -7818,26 +7968,26 @@ void SetWildMonHeldItem(void) if (rnd < chanceNoItem) continue; if (rnd < chanceNotRare) - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBaseStats[species].itemCommon); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSpeciesInfo[species].itemCommon); else - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBaseStats[species].itemRare); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSpeciesInfo[species].itemRare); } } else { - if (gBaseStats[species].itemCommon == gBaseStats[species].itemRare && gBaseStats[species].itemCommon != ITEM_NONE) + if (gSpeciesInfo[species].itemCommon == gSpeciesInfo[species].itemRare && gSpeciesInfo[species].itemCommon != ITEM_NONE) { // Both held items are the same, 100% chance to hold item - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBaseStats[species].itemCommon); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSpeciesInfo[species].itemCommon); } else { if (rnd < chanceNoItem) continue; if (rnd < chanceNotRare) - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBaseStats[species].itemCommon); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSpeciesInfo[species].itemCommon); else - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBaseStats[species].itemRare); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSpeciesInfo[species].itemRare); } } } @@ -8471,7 +8621,7 @@ void TrySpecialOverworldEvo(void) bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) { - return (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; + return (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; } void TryToSetBattleFormChangeMoves(struct Pokemon *mon) @@ -8513,3 +8663,23 @@ void TryToSetBattleFormChangeMoves(struct Pokemon *mon) } } } + +u32 GetMonFriendshipScore(struct Pokemon *pokemon) +{ + u32 friendshipScore = GetMonData(pokemon, MON_DATA_FRIENDSHIP, NULL); + + if (friendshipScore == MAX_FRIENDSHIP) + return FRIENDSHIP_MAX; + if (friendshipScore >= 200) + return FRIENDSHIP_200_TO_254; + if (friendshipScore >= 150) + return FRIENDSHIP_150_TO_199; + if (friendshipScore >= 100) + return FRIENDSHIP_100_TO_149; + if (friendshipScore >= 50) + return FRIENDSHIP_50_TO_99; + if (friendshipScore >= 1) + return FRIENDSHIP_1_TO_49; + + return FRIENDSHIP_NONE; +} diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 8a047e3979..2e9f045069 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -39,7 +39,7 @@ #include "constants/items.h" -#if P_ENABLE_DEBUG == TRUE +#if DEBUG_POKEMON_MENU == TRUE extern const struct BattleBackground sBattleTerrainTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; @@ -417,21 +417,21 @@ static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) FillWindowPixelBuffer(WIN_INSTRUCTIONS, 0x11); if (data->currentSubmenu == 0) { - if (gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) + if (gSpeciesInfo[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 & SPECIES_FLAG_GENDER_DIFFERENCE) + if (gSpeciesInfo[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 & SPECIES_FLAG_GENDER_DIFFERENCE) + if (gSpeciesInfo[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 & SPECIES_FLAG_GENDER_DIFFERENCE) + if (gSpeciesInfo[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 & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) return &gMonShinyPaletteTableFemale[species]; else return &gMonShinyPaletteTable[species]; } else { - if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gSpeciesInfo[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 & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonShinyPaletteTableFemale[species].data; else lzPaletteData = gMonShinyPaletteTable[species].data; } else { - if ((gBaseStats[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) lzPaletteData = gMonPaletteTableFemale[species].data; else lzPaletteData = gMonPaletteTable[species].data; @@ -1380,7 +1380,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } break; @@ -1493,13 +1493,13 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ReloadPokemonSprites(data); ApplyOffsetSpriteValues(data); } - if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & SPECIES_FLAG_GENDER_DIFFERENCE)) + if (JOY_NEW(SELECT_BUTTON) && (gSpeciesInfo[data->currentmonId].flags & SPECIES_FLAG_GENDER_DIFFERENCE)) { data->isFemale = !data->isFemale; PrintDigitChars(data); UpdateBattlerValue(data); ReloadPokemonSprites(data); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); PlaySE(SE_DEX_SCROLL); } @@ -1531,7 +1531,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ResetOffsetSpriteValues(data); } PlaySE(SE_DEX_SCROLL); - while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + VBlankIntrWait(); } else if (JOY_NEW(DPAD_UP)) { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 3f58daa861..1146d0789b 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -551,8 +551,7 @@ struct PokemonStorageSystemData u16 *displayMonTilePtr; struct Sprite *displayMonSprite; u16 displayMonPalBuffer[0x40]; - u8 tileBuffer[0x800]; - u8 unusedBuffer[0x1800]; // Unused + u8 tileBuffer[MON_PIC_SIZE * 4]; // 4x the size of a 'Mon sprite to account for Castform u8 itemIconBuffer[0x800]; u8 wallpaperBgTilemapBuffer[0x1000]; u8 displayMenuTilemapBuffer[0x800]; @@ -1669,18 +1668,10 @@ static void FieldTask_ReturnToPcMenu(void) MainCallback vblankCb = gMain.vblankCallback; SetVBlankCallback(NULL); - if (!FlagGet(DEBUG_FLAG_PC_FROM_DEBUG_MENU)) - { - taskId = CreateTask(Task_PCMainMenu, 80); - gTasks[taskId].tState = 0; - gTasks[taskId].tSelectedOption = sPreviousBoxOption; - Task_PCMainMenu(taskId); - } - else - { - FlagClear(DEBUG_FLAG_PC_FROM_DEBUG_MENU); - ScriptContext_Enable(); - } + taskId = CreateTask(Task_PCMainMenu, 80); + gTasks[taskId].tState = 0; + gTasks[taskId].tSelectedOption = sPreviousBoxOption; + Task_PCMainMenu(taskId); SetVBlankCallback(vblankCb); FadeInFromBlack(); } @@ -8881,14 +8872,14 @@ static void TakeItemFromMon(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); - SetBoxMonIconObjMode(cursorPos, 1); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); - SetPartyMonIconObjMode(cursorPos, 1); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&mon->box); } @@ -8953,14 +8944,14 @@ static void GiveItemToMon(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sStorage->movingItemId); - SetBoxMonIconObjMode(cursorPos, 0); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_NORMAL); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sStorage->movingItemId); - SetPartyMonIconObjMode(cursorPos, 0); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_NORMAL); SetMonFormPSS(&mon->box); } } @@ -8980,14 +8971,14 @@ static void MoveItemFromMonToBag(u8 cursorArea, u8 cursorPos) if (cursorArea == CURSOR_AREA_IN_BOX) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); - SetBoxMonIconObjMode(cursorPos, 1); + SetBoxMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); - SetPartyMonIconObjMode(cursorPos, 1); + SetPartyMonIconObjMode(cursorPos, ST_OAM_OBJ_BLEND); SetMonFormPSS(&mon->box); } } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 93f85de6ff..0e21d1e59e 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -41,7 +41,6 @@ #include "text.h" #include "tv.h" #include "window.h" -#include "constants/battle_config.h" #include "constants/battle_move_effects.h" #include "constants/items.h" #include "constants/moves.h" @@ -1640,7 +1639,7 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - #if P_ENABLE_DEBUG == TRUE + #if DEBUG_POKEMON_MENU == TRUE else if (JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) { sMonSummaryScreen->callback = CB2_Debug_Pokemon; @@ -1648,7 +1647,7 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); CloseSummaryScreen(taskId); } - #endif + #endif } } @@ -2714,8 +2713,8 @@ static void DrawExperienceProgressBar(struct Pokemon *unused) if (summary->level < MAX_LEVEL) { - u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; - u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; + u32 expBetweenLevels = gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level + 1] - gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level]; + u32 expSinceLastLevel = summary->exp - gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level]; // Calculate the number of 1-pixel "ticks" to illuminate in the experience progress bar. // There are 8 tiles that make up the bar, and each tile has 8 "ticks". Hence, the numerator @@ -3518,7 +3517,7 @@ static void PrintExpPointsNextLevel(void) PrintTextOnWindow(windowId, gStringVar1, x, 1, 0, 0); if (sum->level < MAX_LEVEL) - expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp; + expToNextLevel = gExperienceTables[gSpeciesInfo[sum->species].growthRate][sum->level + 1] - sum->exp; else expToNextLevel = 0; @@ -3903,10 +3902,10 @@ static void SetMonTypeIcons(void) } else { - SetTypeSpritePosAndPal(gBaseStats[summary->species].type1, 120, 48, SPRITE_ARR_ID_TYPE); - if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2) + SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].type1, 120, 48, SPRITE_ARR_ID_TYPE); + if (gSpeciesInfo[summary->species].type1 != gSpeciesInfo[summary->species].type2) { - SetTypeSpritePosAndPal(gBaseStats[summary->species].type2, 160, 48, SPRITE_ARR_ID_TYPE + 1); + SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].type2, 160, 48, SPRITE_ARR_ID_TYPE + 1); SetSpriteInvisibility(SPRITE_ARR_ID_TYPE + 1, FALSE); } else diff --git a/src/pokenav_region_map.c b/src/pokenav_region_map.c index 39c1659a9a..036ea5ff10 100755 --- a/src/pokenav_region_map.c +++ b/src/pokenav_region_map.c @@ -78,7 +78,7 @@ extern const u16 gRegionMapCityZoomTiles_Pal[]; extern const u32 gRegionMapCityZoomText_Gfx[]; static const u16 sMapSecInfoWindow_Pal[] = INCBIN_U16("graphics/pokenav/region_map/info_window.gbapal"); -static const u32 sRegionMapCityZoomTiles_Gfx[] = INCBIN_U32("graphics/pokenav/zoom_tiles.4bpp.lz"); +static const u32 sRegionMapCityZoomTiles_Gfx[] = INCBIN_U32("graphics/pokenav/region_map/zoom_tiles.4bpp.lz"); #include "data/region_map/city_map_tilemaps.h" diff --git a/src/recorded_battle.c b/src/recorded_battle.c index dead1dd7e3..33228255d2 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -21,11 +21,6 @@ #include "constants/rgb.h" #define BATTLER_RECORD_SIZE 664 -#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \ - | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \ - | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \ - | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \ - | BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA)) struct PlayerInfo { @@ -301,7 +296,7 @@ static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save) { if (save->battleFlags == 0) return FALSE; - if (save->battleFlags & ILLEGAL_BATTLE_TYPES) + if (save->battleFlags & BATTLE_TYPE_RECORDED_INVALID) return FALSE; if (CalcByteArraySum((void *)(save), sizeof(*save) - 4) != save->checksum) return FALSE; diff --git a/src/region_map.c b/src/region_map.c index 8157f8a4e7..67f1643d6c 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -53,8 +53,6 @@ enum { TAG_FLY_ICON, }; -// Static type declarations - struct MultiNameFlyDest { const u8 *const *name; @@ -62,8 +60,6 @@ struct MultiNameFlyDest u16 flag; }; -// Static RAM declarations - static EWRAM_DATA struct RegionMap *sRegionMap = NULL; static EWRAM_DATA struct { @@ -78,8 +74,6 @@ static EWRAM_DATA struct { static bool32 sDrawFlyDestTextWindow; -// Static ROM declarations - static u8 ProcessRegionMapInput_Full(void); static u8 MoveRegionMapCursor_Full(void); static u8 ProcessRegionMapInput_Zoomed(void); @@ -115,20 +109,18 @@ static void CB_FadeInFlyMap(void); static void CB_HandleFlyMapInput(void); static void CB_ExitFlyMap(void); -// NOTE: Some of the below graphics are not in graphics/pokenav/region_map -// because porymap expects them to be in their current location. static const u16 sRegionMapCursorPal[] = INCBIN_U16("graphics/pokenav/region_map/cursor.gbapal"); static const u32 sRegionMapCursorSmallGfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/cursor_small.4bpp.lz"); static const u32 sRegionMapCursorLargeGfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/cursor_large.4bpp.lz"); -static const u16 sRegionMapBg_Pal[] = INCBIN_U16("graphics/pokenav/region_map.gbapal"); -static const u32 sRegionMapBg_GfxLZ[] = INCBIN_U32("graphics/pokenav/region_map.8bpp.lz"); -static const u32 sRegionMapBg_TilemapLZ[] = INCBIN_U32("graphics/pokenav/region_map_map.bin.lz"); +static const u16 sRegionMapBg_Pal[] = INCBIN_U16("graphics/pokenav/region_map/map.gbapal"); +static const u32 sRegionMapBg_GfxLZ[] = INCBIN_U32("graphics/pokenav/region_map/map.8bpp.lz"); +static const u32 sRegionMapBg_TilemapLZ[] = INCBIN_U32("graphics/pokenav/region_map/map.bin.lz"); static const u16 sRegionMapPlayerIcon_BrendanPal[] = INCBIN_U16("graphics/pokenav/region_map/brendan_icon.gbapal"); static const u8 sRegionMapPlayerIcon_BrendanGfx[] = INCBIN_U8("graphics/pokenav/region_map/brendan_icon.4bpp"); static const u16 sRegionMapPlayerIcon_MayPal[] = INCBIN_U16("graphics/pokenav/region_map/may_icon.gbapal"); static const u8 sRegionMapPlayerIcon_MayGfx[] = INCBIN_U8("graphics/pokenav/region_map/may_icon.4bpp"); -static const u8 sRegionMap_MapSectionLayout[] = INCBIN_U8("graphics/pokenav/region_map_section_layout.bin"); +#include "data/region_map/region_map_layout.h" #include "data/region_map/region_map_entries.h" static const u16 sRegionMap_SpecialPlaceLocations[][2] = @@ -305,40 +297,40 @@ static const u8 sMapHealLocations[][3] = [MAPSEC_MOSSDEEP_CITY] = {MAP_GROUP(MOSSDEEP_CITY), MAP_NUM(MOSSDEEP_CITY), HEAL_LOCATION_MOSSDEEP_CITY}, [MAPSEC_SOOTOPOLIS_CITY] = {MAP_GROUP(SOOTOPOLIS_CITY), MAP_NUM(SOOTOPOLIS_CITY), HEAL_LOCATION_SOOTOPOLIS_CITY}, [MAPSEC_EVER_GRANDE_CITY] = {MAP_GROUP(EVER_GRANDE_CITY), MAP_NUM(EVER_GRANDE_CITY), HEAL_LOCATION_EVER_GRANDE_CITY}, - [MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), 0}, - [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), 0}, - [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), 0}, - [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), 0}, - [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), 0}, - [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), 0}, - [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), 0}, - [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), 0}, - [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), 0}, - [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), 0}, - [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), 0}, - [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), 0}, - [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), 0}, - [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), 0}, - [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), 0}, - [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), 0}, - [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), 0}, - [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), 0}, - [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), 0}, - [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), 0}, - [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), 0}, - [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), 0}, - [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), 0}, - [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), 0}, - [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), 0}, - [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), 0}, - [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), 0}, - [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), 0}, - [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), 0}, - [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), 0}, - [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), 0}, - [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), 0}, - [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), 0}, - [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), 0} + [MAPSEC_ROUTE_101] = {MAP_GROUP(ROUTE101), MAP_NUM(ROUTE101), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_102] = {MAP_GROUP(ROUTE102), MAP_NUM(ROUTE102), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_103] = {MAP_GROUP(ROUTE103), MAP_NUM(ROUTE103), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_104] = {MAP_GROUP(ROUTE104), MAP_NUM(ROUTE104), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_105] = {MAP_GROUP(ROUTE105), MAP_NUM(ROUTE105), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_106] = {MAP_GROUP(ROUTE106), MAP_NUM(ROUTE106), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_107] = {MAP_GROUP(ROUTE107), MAP_NUM(ROUTE107), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_108] = {MAP_GROUP(ROUTE108), MAP_NUM(ROUTE108), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_109] = {MAP_GROUP(ROUTE109), MAP_NUM(ROUTE109), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_110] = {MAP_GROUP(ROUTE110), MAP_NUM(ROUTE110), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_111] = {MAP_GROUP(ROUTE111), MAP_NUM(ROUTE111), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_112] = {MAP_GROUP(ROUTE112), MAP_NUM(ROUTE112), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_113] = {MAP_GROUP(ROUTE113), MAP_NUM(ROUTE113), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_114] = {MAP_GROUP(ROUTE114), MAP_NUM(ROUTE114), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_115] = {MAP_GROUP(ROUTE115), MAP_NUM(ROUTE115), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_116] = {MAP_GROUP(ROUTE116), MAP_NUM(ROUTE116), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_117] = {MAP_GROUP(ROUTE117), MAP_NUM(ROUTE117), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_118] = {MAP_GROUP(ROUTE118), MAP_NUM(ROUTE118), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_119] = {MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_120] = {MAP_GROUP(ROUTE120), MAP_NUM(ROUTE120), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_121] = {MAP_GROUP(ROUTE121), MAP_NUM(ROUTE121), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_122] = {MAP_GROUP(ROUTE122), MAP_NUM(ROUTE122), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_123] = {MAP_GROUP(ROUTE123), MAP_NUM(ROUTE123), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_124] = {MAP_GROUP(ROUTE124), MAP_NUM(ROUTE124), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_125] = {MAP_GROUP(ROUTE125), MAP_NUM(ROUTE125), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_126] = {MAP_GROUP(ROUTE126), MAP_NUM(ROUTE126), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_127] = {MAP_GROUP(ROUTE127), MAP_NUM(ROUTE127), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_128] = {MAP_GROUP(ROUTE128), MAP_NUM(ROUTE128), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_129] = {MAP_GROUP(ROUTE129), MAP_NUM(ROUTE129), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_130] = {MAP_GROUP(ROUTE130), MAP_NUM(ROUTE130), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_131] = {MAP_GROUP(ROUTE131), MAP_NUM(ROUTE131), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_132] = {MAP_GROUP(ROUTE132), MAP_NUM(ROUTE132), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_133] = {MAP_GROUP(ROUTE133), MAP_NUM(ROUTE133), HEAL_LOCATION_NONE}, + [MAPSEC_ROUTE_134] = {MAP_GROUP(ROUTE134), MAP_NUM(ROUTE134), HEAL_LOCATION_NONE}, }; static const u8 *const sEverGrandeCityNames[] = @@ -506,8 +498,6 @@ static const struct SpriteTemplate sFlyDestIconSpriteTemplate = .callback = SpriteCallbackDummy }; -// .text - void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed) { InitRegionMapData(regionMap, NULL, zoomed); @@ -965,7 +955,7 @@ static u16 GetMapSecIdAt(u16 x, u16 y) } y -= MAPCURSOR_Y_MIN; x -= MAPCURSOR_X_MIN; - return sRegionMap_MapSectionLayout[x + y * MAP_WIDTH]; + return sRegionMap_MapSectionLayout[y][x]; } static void InitMapBasedOnPlayerLocation(void) @@ -2012,7 +2002,7 @@ static void CB_ExitFlyMap(void) SetWarpDestinationToHealLocation(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_POKEMON_LEAGUE : HEAL_LOCATION_EVER_GRANDE_CITY); break; default: - if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0) + if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != HEAL_LOCATION_NONE) SetWarpDestinationToHealLocation(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); else SetWarpDestinationToMapWarp(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], WARP_ID_NONE); diff --git a/src/rom_header_gf.c b/src/rom_header_gf.c index d769d47f82..118cc5e277 100644 --- a/src/rom_header_gf.c +++ b/src/rom_header_gf.c @@ -6,6 +6,15 @@ #include "item.h" #include "pokeball.h" +// The purpose of this struct is for outside applications to be +// able to access parts of the ROM or its save file, like a public API. +// In vanilla, it was used by Colosseum and XD to access pokemon graphics. +// +// If this struct is rearranged in any way, it defeats the purpose of +// having it at all. Applications like PKHex or streaming HUDs may find +// these values useful, so there's some potential benefit to keeping it. +// If there's a compilation problem below, just comment out the assignment +// instead of changing this struct. struct GFRomHeader { u32 version; @@ -24,7 +33,8 @@ struct GFRomHeader u32 flagsOffset; u32 varsOffset; u32 pokedexOffset; - u32 seenOffset; + u32 seen1Offset; + u32 seen2Offset; u32 pokedexVar; u32 pokedexFlag; u32 mysteryEventFlag; @@ -59,7 +69,7 @@ struct GFRomHeader u32 externalEventFlagsOffset; u32 externalEventDataOffset; u32 unk18; - const struct BaseStats * baseStats; + const struct SpeciesInfo * speciesInfo; const u8 (* abilityNames)[]; const u8 *const * abilityDescriptions; const struct Item * items; @@ -103,7 +113,8 @@ static const struct GFRomHeader sGFRomHeader = { .flagsOffset = offsetof(struct SaveBlock1, flags), .varsOffset = offsetof(struct SaveBlock1, vars), .pokedexOffset = offsetof(struct SaveBlock2, pokedex), - .seenOffset = offsetof(struct SaveBlock1, dexSeen), + .seen1Offset = offsetof(struct SaveBlock1, dexSeen), + .seen2Offset = offsetof(struct SaveBlock1, dexSeen), // dex flags are combined, just provide the same pointer .pokedexVar = VAR_NATIONAL_DEX - VARS_START, .pokedexFlag = FLAG_RECEIVED_POKEDEX_FROM_BIRCH, .mysteryEventFlag = FLAG_SYS_MYSTERY_EVENT_ENABLE, @@ -139,7 +150,7 @@ static const struct GFRomHeader sGFRomHeader = { .externalEventFlagsOffset = offsetof(struct SaveBlock1, externalEventFlags), .externalEventDataOffset = offsetof(struct SaveBlock1, externalEventData), .unk18 = 0x00000000, - .baseStats = gBaseStats, + .speciesInfo = gSpeciesInfo, .abilityNames = gAbilityNames, .abilityDescriptions = gAbilityDescriptionPointers, .items = gItems, diff --git a/src/scrcmd.c b/src/scrcmd.c index e5ea3d5e11..745e0d8822 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1153,10 +1153,7 @@ bool8 ScrCmd_resetobjectsubpriority(struct ScriptContext *ctx) bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) { if (gObjectEvents[gSelectedObjectEvent].active) - { - ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], - GetPlayerFacingDirection()); - } + ObjectEventFaceOppositeDirection(&gObjectEvents[gSelectedObjectEvent], GetPlayerFacingDirection()); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index 6633332f3f..df7a12f6d8 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -90,12 +90,10 @@ static u16 GetLengthWithExpandedPlayerName(const u8 *str) return length; } -static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) +static void DrawMultichoiceMenuInternal(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos, const struct MenuAction *actions, int count) { int i; u8 windowId; - u8 count = sMultichoiceLists[multichoiceId].count; - const struct MenuAction *actions = sMultichoiceLists[multichoiceId].list; int width = 0; u8 newWidth; @@ -114,6 +112,84 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreB InitMultichoiceCheckWrap(ignoreBPress, count, windowId, multichoiceId); } +static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 cursorPos) +{ + DrawMultichoiceMenuInternal(left, top, multichoiceId, ignoreBPress, cursorPos, sMultichoiceLists[multichoiceId].list, sMultichoiceLists[multichoiceId].count); +} + +#if I_REPEL_LURE_MENU == TRUE +void TryDrawRepelMenu(void) +{ + static const u16 repelItems[] = {ITEM_REPEL, ITEM_SUPER_REPEL, ITEM_MAX_REPEL}; + struct MenuAction menuItems[ARRAY_COUNT(repelItems) + 1] = {NULL}; + int i, count = 0, menuPos = 0; + + for (i = 0; i < ARRAY_COUNT(repelItems); i++) + { + if (CheckBagHasItem(repelItems[i], 1)) + { + VarSet(VAR_0x8004 + count, repelItems[i]); + #if VAR_LAST_REPEL_LURE_USED != 0 + if (VarGet(VAR_LAST_REPEL_LURE_USED) == repelItems[i]) + menuPos = count; + #endif + menuItems[count].text = ItemId_GetName(repelItems[i]); + count++; + } + } + + if (count > 1) + DrawMultichoiceMenuInternal(0, 0, 0, FALSE, menuPos, menuItems, count); + + gSpecialVar_Result = (count > 1); +} + +void HandleRepelMenuChoice(void) +{ + gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004)); +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_0x8004); +#endif +} + +void TryDrawLureMenu(void) +{ + static const u16 lureItems[] = {ITEM_LURE, ITEM_SUPER_LURE, ITEM_MAX_LURE}; + struct MenuAction menuItems[ARRAY_COUNT(lureItems) + 1] = {NULL}; + int i, count = 0, menuPos = 0; + + + for (i = 0; i < ARRAY_COUNT(lureItems); i++) + { + if (CheckBagHasItem(lureItems[i], 1)) + { + VarSet(VAR_0x8004 + count, lureItems[i]); + #if VAR_LAST_REPEL_LURE_USED != 0 + if (VarGet(VAR_LAST_REPEL_LURE_USED) == lureItems[i]) + menuPos = count; + #endif + menuItems[count].text = ItemId_GetName(lureItems[i]); + count++; + } + } + + if (count > 1) + DrawMultichoiceMenuInternal(0, 0, 0, FALSE, menuPos, menuItems, count); + + gSpecialVar_Result = (count > 1); +} + +void HandleLureMenuChoice(void) +{ + gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; + VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004) | REPEL_LURE_MASK); +#if VAR_LAST_REPEL_LURE_USED != 0 + VarSet(VAR_LAST_REPEL_LURE_USED, gSpecialVar_0x8004); +#endif +} +#endif //I_REPEL_LURE_MENU == TRUE + #define tLeft data[0] #define tTop data[1] #define tRight data[2] diff --git a/src/secret_base.c b/src/secret_base.c index ea19993439..1a4a0ac9cd 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -214,7 +214,7 @@ static const struct ListMenuTemplate sRegistryListMenuTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NORMAL, - .cursorKind = 0, + .cursorKind = CURSOR_BLACK_ARROW, }; static void ClearSecretBase(struct SecretBase *secretBase) @@ -953,7 +953,7 @@ static void BuildRegistryMenuItems(u8 taskId) } sRegistryMenu->items[count].name = gText_Cancel; - sRegistryMenu->items[count].id = -2; + sRegistryMenu->items[count].id = LIST_CANCEL; tNumBases = count + 1; if (tNumBases < 8) tMaxShownItems = tNumBases; diff --git a/src/shop.c b/src/shop.c old mode 100755 new mode 100644 index 451fa171cb..ef0f07b389 --- a/src/shop.c +++ b/src/shop.c @@ -42,10 +42,72 @@ #define TAG_SCROLL_ARROW 2100 #define TAG_ITEM_ICON_BASE 2110 +#define MAX_ITEMS_SHOWN 8 + +enum { + WIN_BUY_SELL_QUIT, + WIN_BUY_QUIT, +}; + +enum { + WIN_MONEY, + WIN_ITEM_LIST, + WIN_ITEM_DESCRIPTION, + WIN_QUANTITY_IN_BAG, + WIN_QUANTITY_PRICE, + WIN_MESSAGE, +}; + +enum { + COLORID_NORMAL, // Item descriptions, quantity in bag, and quantity/price + COLORID_ITEM_LIST, // The text in the item list, and the cursor normally + COLORID_GRAY_CURSOR, // When the cursor has selected an item to purchase +}; + +enum { + MART_TYPE_NORMAL, + MART_TYPE_DECOR, + MART_TYPE_DECOR2, +}; + +// shop view window NPC info enum +enum +{ + OBJ_EVENT_ID, + X_COORD, + Y_COORD, + ANIM_NUM, + LAYER_TYPE +}; + +struct MartInfo +{ + void (*callback)(void); + const struct MenuAction *menuActions; + const u16 *itemList; + u16 itemCount; + u8 windowId; + u8 martType; +}; + +struct ShopData +{ + u16 tilemapBuffers[4][0x400]; + u32 totalCost; + u16 itemsShowed; + u16 selectedRow; + u16 scrollOffset; + u8 maxQuantity; + u8 scrollIndicatorsTaskId; + u8 iconSlot; + u8 itemSpriteIds[2]; + s16 viewportObjects[OBJECT_EVENTS_COUNT][5]; +}; + static EWRAM_DATA struct MartInfo sMartInfo = {0}; static EWRAM_DATA struct ShopData *sShopData = NULL; static EWRAM_DATA struct ListMenuItem *sListMenuItems = NULL; -static EWRAM_DATA u8 (*sItemNames)[16] = {0}; +static EWRAM_DATA u8 (*sItemNames)[ITEM_NAME_LENGTH + 2] = {0}; static EWRAM_DATA u8 sPurchaseHistoryId = 0; EWRAM_DATA struct ItemSlot gMartPurchaseHistory[SMARTSHOPPER_NUM_ITEMS] = {0}; @@ -114,7 +176,7 @@ static const struct MenuAction sShopMenuActions_BuyQuit[] = static const struct WindowTemplate sShopMenuWindowTemplates[] = { - { + [WIN_BUY_SELL_QUIT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 1, @@ -123,7 +185,8 @@ static const struct WindowTemplate sShopMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0008, }, - { + // Separate shop menu window for decorations, which can't be sold + [WIN_BUY_QUIT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 1, @@ -141,7 +204,7 @@ static const struct ListMenuTemplate sShopBuyMenuListTemplate = .itemPrintFunc = BuyMenuPrintPriceInList, .totalItems = 0, .maxShowed = 0, - .windowId = 1, + .windowId = WIN_ITEM_LIST, .header_X = 0, .item_X = 8, .cursor_X = 0, @@ -153,7 +216,7 @@ static const struct ListMenuTemplate sShopBuyMenuListTemplate = .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = FONT_NARROW, - .cursorKind = 0 + .cursorKind = CURSOR_BLACK_ARROW }; static const struct BgTemplate sShopBuyMenuBgTemplates[] = @@ -198,7 +261,7 @@ static const struct BgTemplate sShopBuyMenuBgTemplates[] = static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = { - { + [WIN_MONEY] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, @@ -207,7 +270,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x001E, }, - { + [WIN_ITEM_LIST] = { .bg = 0, .tilemapLeft = 14, .tilemapTop = 2, @@ -216,7 +279,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0032, }, - { + [WIN_ITEM_DESCRIPTION] = { .bg = 0, .tilemapLeft = 0, .tilemapTop = 13, @@ -225,7 +288,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0122, }, - { + [WIN_QUANTITY_IN_BAG] = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 11, @@ -234,7 +297,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x0176, }, - { + [WIN_QUANTITY_PRICE] = { .bg = 0, .tilemapLeft = 18, .tilemapTop = 11, @@ -243,7 +306,7 @@ static const struct WindowTemplate sShopBuyMenuWindowTemplates[] = .paletteNum = 15, .baseBlock = 0x018E, }, - { + [WIN_MESSAGE] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, @@ -268,9 +331,9 @@ static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates = static const u8 sShopBuyMenuTextColors[][3] = { - {1, 2, 3}, - {0, 2, 3}, - {0, 3, 2} + [COLORID_NORMAL] = {1, 2, 3}, + [COLORID_ITEM_LIST] = {0, 2, 3}, + [COLORID_GRAY_CURSOR] = {0, 3, 2}, }; static u8 CreateShopMenu(u8 martType) @@ -282,8 +345,7 @@ static u8 CreateShopMenu(u8 martType) if (martType == MART_TYPE_NORMAL) { - struct WindowTemplate winTemplate; - winTemplate = sShopMenuWindowTemplates[0]; + struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_SELL_QUIT]; winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuySellQuit, ARRAY_COUNT(sShopMenuActions_BuySellQuit)); sMartInfo.windowId = AddWindow(&winTemplate); sMartInfo.menuActions = sShopMenuActions_BuySellQuit; @@ -291,8 +353,7 @@ static u8 CreateShopMenu(u8 martType) } else { - struct WindowTemplate winTemplate; - winTemplate = sShopMenuWindowTemplates[1]; + struct WindowTemplate winTemplate = sShopMenuWindowTemplates[WIN_BUY_QUIT]; winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuyQuit, ARRAY_COUNT(sShopMenuActions_BuyQuit)); sMartInfo.windowId = AddWindow(&winTemplate); sMartInfo.menuActions = sShopMenuActions_BuyQuit; @@ -320,6 +381,7 @@ static void SetShopItemsForSale(const u16 *items) sMartInfo.itemList = items; sMartInfo.itemCount = 0; + // Read items until ITEM_NONE / DECOR_NONE is reached while (sMartInfo.itemList[i]) { sMartInfo.itemCount++; @@ -344,11 +406,17 @@ static void Task_ShopMenu(u8 taskId) } } +#define tItemCount data[1] +#define tItemId data[5] +#define tListTaskId data[7] +#define tCallbackHi data[8] +#define tCallbackLo data[9] + static void Task_HandleShopMenuBuy(u8 taskId) { s16 *data = gTasks[taskId].data; - data[8] = (u32)CB2_InitBuyMenu >> 16; - data[9] = (u32)CB2_InitBuyMenu; + tCallbackHi = (u32)CB2_InitBuyMenu >> 16; + tCallbackLo = (u32)CB2_InitBuyMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; FadeScreen(FADE_TO_BLACK, 0); } @@ -356,8 +424,8 @@ static void Task_HandleShopMenuBuy(u8 taskId) static void Task_HandleShopMenuSell(u8 taskId) { s16 *data = gTasks[taskId].data; - data[8] = (u32)CB2_GoToSellMenu >> 16; - data[9] = (u32)CB2_GoToSellMenu; + tCallbackHi = (u32)CB2_GoToSellMenu >> 16; + tCallbackLo = (u32)CB2_GoToSellMenu; gTasks[taskId].func = Task_GoToBuyOrSellMenu; FadeScreen(FADE_TO_BLACK, 0); } @@ -386,7 +454,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) if (!gPaletteFade.active) { DestroyTask(taskId); - SetMainCallback2((void *)((u16)data[8] << 16 | (u16)data[9])); + SetMainCallback2((void *)((u16)tCallbackHi << 16 | (u16)tCallbackLo)); } } @@ -429,10 +497,6 @@ static void VBlankCB_BuyMenu(void) TransferPlttBuffer(); } -#define tItemCount data[1] -#define tItemId data[5] -#define tListTaskId data[7] - static void CB2_InitBuyMenu(void) { u8 taskId; @@ -472,8 +536,8 @@ static void CB2_InitBuyMenu(void) BuyMenuAddScrollIndicatorArrows(); taskId = CreateTask(Task_BuyMenu, 8); gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - BlendPalettes(PALETTES_ALL, 0x10, RGB_BLACK); - BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); + BlendPalettes(PALETTES_ALL, 16, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); SetVBlankCallback(VBlankCB_BuyMenu); SetMainCallback2(CB2_BuyMenu); break; @@ -504,8 +568,8 @@ static void BuyMenuBuildListMenuTemplate(void) gMultiuseListMenuTemplate = sShopBuyMenuListTemplate; gMultiuseListMenuTemplate.items = sListMenuItems; gMultiuseListMenuTemplate.totalItems = sMartInfo.itemCount + 1; - if (gMultiuseListMenuTemplate.totalItems > 8) - gMultiuseListMenuTemplate.maxShowed = 8; + if (gMultiuseListMenuTemplate.totalItems > MAX_ITEMS_SHOWN) + gMultiuseListMenuTemplate.maxShowed = MAX_ITEMS_SHOWN; else gMultiuseListMenuTemplate.maxShowed = gMultiuseListMenuTemplate.totalItems; @@ -532,7 +596,7 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s if (item != LIST_CANCEL) BuyMenuAddItemIcon(item, sShopData->iconSlot); else - BuyMenuAddItemIcon(-1, sShopData->iconSlot); + BuyMenuAddItemIcon(ITEM_LIST_END, sShopData->iconSlot); BuyMenuRemoveItemIcon(item, sShopData->iconSlot ^ 1); sShopData->iconSlot ^= 1; @@ -548,8 +612,8 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s description = gText_QuitShopping; } - FillWindowPixelBuffer(2, PIXEL_FILL(0)); - BuyMenuPrint(2, description, 3, 1, 0, 0); + FillWindowPixelBuffer(WIN_ITEM_DESCRIPTION, PIXEL_FILL(0)); + BuyMenuPrint(WIN_ITEM_DESCRIPTION, description, 3, 1, 0, COLORID_NORMAL); } static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) @@ -576,21 +640,21 @@ static void BuyMenuPrintPriceInList(u8 windowId, u32 itemId, u8 y) } StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1); - x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 0x78); - AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[1], TEXT_SKIP_DRAW, gStringVar4); + x = GetStringRightAlignXOffset(FONT_NARROW, gStringVar4, 120); + AddTextPrinterParameterized4(windowId, FONT_NARROW, x, y, 0, 0, sShopBuyMenuTextColors[COLORID_ITEM_LIST], TEXT_SKIP_DRAW, gStringVar4); } } static void BuyMenuAddScrollIndicatorArrows(void) { - if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > 8) + if (sShopData->scrollIndicatorsTaskId == TASK_NONE && sMartInfo.itemCount + 1 > MAX_ITEMS_SHOWN) { sShopData->scrollIndicatorsTaskId = AddScrollIndicatorArrowPairParameterized( SCROLL_ARROW_UP, 172, 12, 148, - sMartInfo.itemCount - 7, + sMartInfo.itemCount - (MAX_ITEMS_SHOWN - 1), TAG_SCROLL_ARROW, TAG_SCROLL_ARROW, &sShopData->scrollOffset); @@ -609,7 +673,7 @@ static void BuyMenuRemoveScrollIndicatorArrows(void) static void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet) { u8 y = ListMenuGetYCoordForPrintingArrowCursor(scrollIndicatorsTaskId); - BuyMenuPrint(1, gText_SelectorArrow2, 0, y, 0, colorSet); + BuyMenuPrint(WIN_ITEM_LIST, gText_SelectorArrow2, 0, y, 0, colorSet); } static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) @@ -619,7 +683,7 @@ static void BuyMenuAddItemIcon(u16 item, u8 iconSlot) if (*spriteIdPtr != SPRITE_NONE) return; - if (sMartInfo.martType == MART_TYPE_NORMAL || item == 0xFFFF) + if (sMartInfo.martType == MART_TYPE_NORMAL || item == ITEM_LIST_END) { spriteId = AddItemIconSprite(iconSlot + TAG_ITEM_ICON_BASE, iconSlot + TAG_ITEM_ICON_BASE, item); if (spriteId != MAX_SPRITES) @@ -683,11 +747,11 @@ static void BuyMenuInitWindows(void) { InitWindows(sShopBuyMenuWindowTemplates); DeactivateAllTextPrinters(); - LoadUserWindowBorderGfx(0, 1, 0xD0); - LoadMessageBoxGfx(0, 0xA, 0xE0); - PutWindowTilemap(0); - PutWindowTilemap(1); - PutWindowTilemap(2); + LoadUserWindowBorderGfx(WIN_MONEY, 1, 0xD0); + LoadMessageBoxGfx(WIN_MONEY, 0xA, 0xE0); + PutWindowTilemap(WIN_MONEY); + PutWindowTilemap(WIN_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_DESCRIPTION); } static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet) @@ -697,7 +761,7 @@ static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 c static void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback) { - DisplayMessageAndContinueTask(taskId, 5, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback); + DisplayMessageAndContinueTask(taskId, WIN_MESSAGE, 10, 14, FONT_NORMAL, GetPlayerTextSpeedDelay(), text, callback); ScheduleBgCopyTilemapToVram(0); } @@ -706,7 +770,7 @@ static void BuyMenuDrawGraphics(void) BuyMenuDrawMapGraphics(); BuyMenuCopyMenuBgToBg1TilemapBuffer(); AddMoneyLabelObject(19, 11); - PrintMoneyAmountInMoneyBoxWithBorder(0, 1, 13, GetMoney(&gSaveBlock1Ptr->money)); + PrintMoneyAmountInMoneyBoxWithBorder(WIN_MONEY, 1, 13, GetMoney(&gSaveBlock1Ptr->money)); ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(1); ScheduleBgCopyTilemapToVram(2); @@ -722,10 +786,8 @@ static void BuyMenuDrawMapGraphics(void) static void BuyMenuDrawMapBg(void) { - s16 i; - s16 j; - s16 x; - s16 y; + s16 i, j; + s16 x, y; const struct MapLayout *mapLayout; u16 metatile; u8 metatileLayerType; @@ -746,13 +808,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = METATILE_LAYER_TYPE_COVERED; if (metatile < NUM_METATILES_IN_PRIMARY) - { - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); - } + BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * NUM_TILES_PER_METATILE, metatileLayerType); else - { - BuyMenuDrawMapMetatile(i, j, (u16 *)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); - } + BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * NUM_TILES_PER_METATILE), metatileLayerType); } } } @@ -794,11 +852,13 @@ static void BuyMenuCollectObjectEventData(void) s16 facingY; u8 y; u8 x; - u8 r8 = 0; + u8 numObjects = 0; GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); + for (y = 0; y < OBJECT_EVENTS_COUNT; y++) sShopData->viewportObjects[y][OBJ_EVENT_ID] = OBJECT_EVENTS_COUNT; + for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) @@ -807,28 +867,28 @@ static void BuyMenuCollectObjectEventData(void) if (objEventId != OBJECT_EVENTS_COUNT) { - sShopData->viewportObjects[r8][OBJ_EVENT_ID] = objEventId; - sShopData->viewportObjects[r8][X_COORD] = x; - sShopData->viewportObjects[r8][Y_COORD] = y; - sShopData->viewportObjects[r8][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y); + sShopData->viewportObjects[numObjects][OBJ_EVENT_ID] = objEventId; + sShopData->viewportObjects[numObjects][X_COORD] = x; + sShopData->viewportObjects[numObjects][Y_COORD] = y; + sShopData->viewportObjects[numObjects][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y); switch (gObjectEvents[objEventId].facingDirection) { - case DIR_SOUTH: - sShopData->viewportObjects[r8][ANIM_NUM] = 0; - break; - case DIR_NORTH: - sShopData->viewportObjects[r8][ANIM_NUM] = 1; - break; - case DIR_WEST: - sShopData->viewportObjects[r8][ANIM_NUM] = 2; - break; - case DIR_EAST: - default: - sShopData->viewportObjects[r8][ANIM_NUM] = 3; - break; + case DIR_SOUTH: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_SOUTH; + break; + case DIR_NORTH: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_NORTH; + break; + case DIR_WEST: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_WEST; + break; + case DIR_EAST: + default: + sShopData->viewportObjects[numObjects][ANIM_NUM] = ANIM_STD_FACE_EAST; + break; } - r8++; + numObjects++; } } } @@ -867,13 +927,9 @@ static void BuyMenuDrawObjectEvents(void) static bool8 BuyMenuCheckIfObjectEventOverlapsMenuBg(s16 *object) { if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != METATILE_LAYER_TYPE_COVERED) - { return TRUE; - } else - { return FALSE; - } } static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void) @@ -885,9 +941,7 @@ static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void) for (i = 0; i < 1024; i++) { if (src[i] != 0) - { dest[i] = src[i] + 0xC3E3; - } } } @@ -901,9 +955,7 @@ static bool8 BuyMenuCheckForOverlapWithMenuBg(int x, int y) metatile[offset2 + offset1 + 32] == 0 && metatile[offset2 + offset1 + 1] == 0 && metatile[offset2 + offset1 + 33] == 0) - { return TRUE; - } return FALSE; } @@ -928,18 +980,14 @@ static void Task_BuyMenu(u8 taskId) default: PlaySE(SE_SELECT); tItemId = itemId; - ClearWindowTilemap(2); + ClearWindowTilemap(WIN_ITEM_DESCRIPTION); BuyMenuRemoveScrollIndicatorArrows(); - BuyMenuPrintCursor(tListTaskId, 2); + BuyMenuPrintCursor(tListTaskId, COLORID_GRAY_CURSOR); if (sMartInfo.martType == MART_TYPE_NORMAL) - { sShopData->totalCost = (ItemId_GetPrice(itemId) >> IsPokeNewsActive(POKENEWS_SLATEPORT)); - } else - { sShopData->totalCost = gDecorations[itemId].price; - } if (!IsEnoughMoney(&gSaveBlock1Ptr->money, sShopData->totalCost)) { @@ -985,25 +1033,21 @@ static void Task_BuyHowManyDialogueInit(u8 taskId) u16 quantityInBag = CountTotalItemQuantityInBag(tItemId); u16 maxQuantity; - DrawStdFrameWithCustomTileAndPalette(3, FALSE, 1, 13); + DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_IN_BAG, FALSE, 1, 13); ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, MAX_ITEM_DIGITS + 1); StringExpandPlaceholders(gStringVar4, gText_InBagVar1); - BuyMenuPrint(3, gStringVar4, 0, 1, 0, 0); + BuyMenuPrint(WIN_QUANTITY_IN_BAG, gStringVar4, 0, 1, 0, COLORID_NORMAL); tItemCount = 1; - DrawStdFrameWithCustomTileAndPalette(4, FALSE, 1, 13); + DrawStdFrameWithCustomTileAndPalette(WIN_QUANTITY_PRICE, FALSE, 1, 13); BuyMenuPrintItemQuantityAndPrice(taskId); ScheduleBgCopyTilemapToVram(0); maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / sShopData->totalCost; if (maxQuantity > MAX_BAG_ITEM_CAPACITY) - { sShopData->maxQuantity = MAX_BAG_ITEM_CAPACITY; - } else - { sShopData->maxQuantity = maxQuantity; - } gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; } @@ -1022,11 +1066,11 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, FALSE); - ClearStdWindowAndFrameToTransparent(3, FALSE); - ClearWindowTilemap(4); - ClearWindowTilemap(3); - PutWindowTilemap(1); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE); + ClearWindowTilemap(WIN_QUANTITY_PRICE); + ClearWindowTilemap(WIN_QUANTITY_IN_BAG); + PutWindowTilemap(WIN_ITEM_LIST); CopyItemName(tItemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, BAG_ITEM_CAPACITY_DIGITS); ConvertIntToDecimalStringN(gStringVar3, sShopData->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6); @@ -1035,10 +1079,10 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - ClearStdWindowAndFrameToTransparent(4, FALSE); - ClearStdWindowAndFrameToTransparent(3, FALSE); - ClearWindowTilemap(4); - ClearWindowTilemap(3); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_PRICE, FALSE); + ClearStdWindowAndFrameToTransparent(WIN_QUANTITY_IN_BAG, FALSE); + ClearWindowTilemap(WIN_QUANTITY_PRICE); + ClearWindowTilemap(WIN_QUANTITY_IN_BAG); BuyMenuReturnToItemList(taskId); } } @@ -1053,7 +1097,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { s16 *data = gTasks[taskId].data; - PutWindowTilemap(1); + PutWindowTilemap(WIN_ITEM_LIST); if (sMartInfo.martType == MART_TYPE_NORMAL) { @@ -1088,16 +1132,12 @@ static void BuyMenuSubtractMoney(u8 taskId) IncrementGameStat(GAME_STAT_SHOPPED); RemoveMoney(&gSaveBlock1Ptr->money, sShopData->totalCost); PlaySE(SE_SHOP); - PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); + PrintMoneyAmountInMoneyBox(WIN_MONEY, GetMoney(&gSaveBlock1Ptr->money), 0); if (sMartInfo.martType == MART_TYPE_NORMAL) - { gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; - } else - { gTasks[taskId].func = Task_ReturnToItemListAfterDecorationPurchase; - } } static void Task_ReturnToItemListAfterItemPurchase(u8 taskId) @@ -1107,14 +1147,12 @@ static void Task_ReturnToItemListAfterItemPurchase(u8 taskId) if (JOY_NEW(A_BUTTON | B_BUTTON)) { PlaySE(SE_SELECT); - if (tItemId == ITEM_POKE_BALL && tItemCount > 9 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE) - { + + // Purchasing 10+ Poke Balls gets the player a Premier Ball + if (tItemId == ITEM_POKE_BALL && tItemCount >= 10 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE) BuyMenuDisplayMessage(taskId, gText_ThrowInPremierBall, BuyMenuReturnToItemList); - } else - { BuyMenuReturnToItemList(taskId); - } } } @@ -1131,10 +1169,10 @@ static void BuyMenuReturnToItemList(u8 taskId) { s16 *data = gTasks[taskId].data; - ClearDialogWindowAndFrameToTransparent(5, FALSE); - BuyMenuPrintCursor(tListTaskId, 1); - PutWindowTilemap(1); - PutWindowTilemap(2); + ClearDialogWindowAndFrameToTransparent(WIN_MESSAGE, FALSE); + BuyMenuPrintCursor(tListTaskId, COLORID_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_LIST); + PutWindowTilemap(WIN_ITEM_DESCRIPTION); ScheduleBgCopyTilemapToVram(0); BuyMenuAddScrollIndicatorArrows(); gTasks[taskId].func = Task_BuyMenu; @@ -1144,11 +1182,11 @@ static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) { s16 *data = gTasks[taskId].data; - FillWindowPixelBuffer(4, PIXEL_FILL(1)); - PrintMoneyAmount(4, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW); + FillWindowPixelBuffer(WIN_QUANTITY_PRICE, PIXEL_FILL(1)); + PrintMoneyAmount(WIN_QUANTITY_PRICE, 38, 1, sShopData->totalCost, TEXT_SKIP_DRAW); ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, BAG_ITEM_CAPACITY_DIGITS); StringExpandPlaceholders(gStringVar4, gText_xVar1); - BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0); + BuyMenuPrint(WIN_QUANTITY_PRICE, gStringVar4, 0, 1, 0, COLORID_NORMAL); } static void ExitBuyMenu(u8 taskId) @@ -1204,6 +1242,8 @@ static void RecordItemPurchase(u8 taskId) #undef tItemCount #undef tItemId #undef tListTaskId +#undef tCallbackHi +#undef tCallbackLo void CreatePokemartMenu(const u16 *itemsForSale) { diff --git a/src/slot_machine.c b/src/slot_machine.c index 3b82afde19..8a67acae36 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -6433,6 +6433,20 @@ static const struct SpriteTemplate sSpriteTemplate_PikaPowerBolt = .callback = SpriteCB_PikaPowerBolt }; +/* +[0 ][1 ] +[ ][ ] +[ ][ ] +[ ][ ] +[ ][ ] +[______________][______________] 128x128 +[ ]+ <- Origin ] +[ ][ ] +[ ][ ] +[ ][ ] +[ ][ ] +[2 ][3 ] +*/ static const struct Subsprite sSubsprites_ReelBackground[] = { { @@ -6474,6 +6488,11 @@ static const struct SubspriteTable sSubspriteTable_ReelBackground[] = ARRAY_COUNT(sSubsprites_ReelBackground), sSubsprites_ReelBackground }; +/* v-- Origin on 3 +[0_____][1_____] +[2_____][3_____] 64x24 +[4 ][5 ] +*/ static const struct Subsprite sSubsprites_ReelTimeMachineAntennae[] = { { @@ -6531,6 +6550,13 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachineAntennae[] = ARRAY_COUNT(sSubsprites_ReelTimeMachineAntennae), sSubsprites_ReelTimeMachineAntennae }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x40 +[1 ][2 ] +*/ static const struct Subsprite sSubsprites_ReelTimeMachine[] = { { @@ -6564,6 +6590,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeMachine[] = ARRAY_COUNT(sSubsprites_ReelTimeMachine), sSubsprites_ReelTimeMachine }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x48 +[1 ][2 ] +[3 ][4 ] +*/ static const struct Subsprite sSubsprites_BrokenReelTimeMachine[] = { { @@ -6613,6 +6647,10 @@ static const struct SubspriteTable sSubspriteTable_BrokenReelTimeMachine[] = ARRAY_COUNT(sSubsprites_BrokenReelTimeMachine), sSubsprites_BrokenReelTimeMachine }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_ReelTimeShadow[] = { { @@ -6654,6 +6692,11 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeShadow[] = ARRAY_COUNT(sSubsprites_ReelTimeShadow), sSubsprites_ReelTimeShadow }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_ReelTimeNumberGap[] = { { @@ -6687,6 +6730,14 @@ static const struct SubspriteTable sSubspriteTable_ReelTimeNumberGap[] = ARRAY_COUNT(sSubsprites_ReelTimeNumberGap), sSubsprites_ReelTimeNumberGap }; +/* +[0 ] +[ ] +[ + Origin] +[______________] 64x48 +[1 ][2 ] +[3 ][4 ] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Reel[] = { { @@ -6736,6 +6787,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Reel[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Reel), sSubsprites_DigitalDisplay_Reel }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Time[] = { { @@ -6777,6 +6832,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Time[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Time), sSubsprites_DigitalDisplay_Time }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Insert[] = { { @@ -6818,6 +6877,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Insert[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Insert), sSubsprites_DigitalDisplay_Insert }; +/* v-- Origin on 3 +[0_____][1_____] +[2 ][3 ] 64x16 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Unused1[] = { { @@ -6859,6 +6922,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused1[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused1), sSubsprites_DigitalDisplay_Unused1 }; +/* v-- Origin on 3 +[0_____][1_____] +[2_____][3_____] +[4 ][5 ] 64x24 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Win[] = { { @@ -6950,6 +7018,14 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Unused2[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Unused2), sSubsprites_DigitalDisplay_Unused2 }; +/* +[0_____][1_] +[2_____][3_] +[4_____][5_] +[6_____][7+] <-- Origin +[8_____][9_] +[10____][11] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] = { { @@ -6962,7 +7038,7 @@ static const struct Subsprite sSubsprites_DigitalDisplay_Pokeball[] = }, { .x = 8, - -24, + .y = -24, .shape = SPRITE_SHAPE(16x8), .size = SPRITE_SIZE(16x8), .tileOffset = 4, @@ -7055,6 +7131,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_Pokeball[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_Pokeball), sSubsprites_DigitalDisplay_Pokeball }; +/* +[0 ] 32x24 +[ + ] <- Origin +[1 ][2 ] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_DPad[] = { { @@ -7088,6 +7169,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_DPad[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_DPad), sSubsprites_DigitalDisplay_DPad }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopS[] = { { @@ -7113,6 +7198,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopS[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopS), sSubsprites_DigitalDisplay_StopS }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopT[] = { { @@ -7138,6 +7227,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopT[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopT), sSubsprites_DigitalDisplay_StopT }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopO[] = { { @@ -7163,6 +7256,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopO[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopO), sSubsprites_DigitalDisplay_StopO }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_StopP[] = { { @@ -7188,6 +7285,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_StopP[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_StopP), sSubsprites_DigitalDisplay_StopP }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusB[] = { { @@ -7213,6 +7314,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusB[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusB), sSubsprites_DigitalDisplay_BonusB }; +/* +[]<-0 16x16 +[]<-1 <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusO[] = { { @@ -7238,6 +7343,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusO[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusO), sSubsprites_DigitalDisplay_BonusO }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusN[] = { { @@ -7263,6 +7372,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusN[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusN), sSubsprites_DigitalDisplay_BonusN }; +/* +[]<-0 16x16 +[]<-1 <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusU[] = { { @@ -7288,6 +7401,10 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusU[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusU), sSubsprites_DigitalDisplay_BonusU }; +/* +[0 ] 16x16 +[1+] <- Origin +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BonusS[] = { { @@ -7313,6 +7430,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BonusS[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BonusS), sSubsprites_DigitalDisplay_BonusS }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigB[] = { { @@ -7370,6 +7493,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigB[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigB), sSubsprites_DigitalDisplay_BigB }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigI[] = { { @@ -7403,6 +7531,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigI[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigI), sSubsprites_DigitalDisplay_BigI }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_BigG[] = { { @@ -7460,6 +7594,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_BigG[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_BigG), sSubsprites_DigitalDisplay_BigG }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegR[] = { { @@ -7517,6 +7657,11 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegR[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_RegR), sSubsprites_DigitalDisplay_RegR }; +/* +[0_] 16x24 +[1+] <--Origin +[2_] +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegE[] = { { @@ -7550,6 +7695,12 @@ static const struct SubspriteTable sSubspriteTable_DigitalDisplay_RegE[] = ARRAY_COUNT(sSubsprites_DigitalDisplay_RegE), sSubsprites_DigitalDisplay_RegE }; +/* +[0_][] <-1 +[2_][] <-3 +[4_][] <-5 + ^-- Origin on 3 +*/ static const struct Subsprite sSubsprites_DigitalDisplay_RegG[] = { { diff --git a/src/start_menu.c b/src/start_menu.c index 32596aa96f..3e5025f8f8 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -286,7 +286,7 @@ static void BuildStartMenuActions(void) } else { - #if DEBUG_SYSTEM_ENABLE == TRUE && DEBUG_SYSTEM_IN_MENU == TRUE + #if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == TRUE BuildDebugStartMenu(); #else BuildNormalStartMenu(); @@ -760,7 +760,7 @@ static bool8 StartMenuDebugCallback(void) RemoveExtraStartMenuWindows(); HideStartMenuDebug(); // Hide start menu without enabling movement -#if DEBUG_SYSTEM_ENABLE == TRUE +#if DEBUG_OVERWORLD_MENU == TRUE FreezeObjectEvents(); Debug_ShowMainMenu(); #endif @@ -1044,7 +1044,7 @@ static u8 SaveConfirmInputCallback(void) sSaveDialogCallback = SaveFileExistsCallback; return SAVE_IN_PROGRESS; } - case -1: // B Button + case MENU_B_PRESSED: case 1: // No HideSaveInfoWindow(); HideSaveMessageWindow(); @@ -1090,7 +1090,7 @@ static u8 SaveOverwriteInputCallback(void) case 0: // Yes sSaveDialogCallback = SaveSavingMessageCallback; return SAVE_IN_PROGRESS; - case -1: // B Button + case MENU_B_PRESSED: case 1: // No HideSaveInfoWindow(); HideSaveMessageWindow(); @@ -1209,7 +1209,7 @@ static u8 BattlePyramidRetireInputCallback(void) { case 0: // Yes return SAVE_CANCELED; - case -1: // B Button + case MENU_B_PRESSED: case 1: // No HideSaveMessageWindow(); return SAVE_SUCCESS; @@ -1312,7 +1312,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) } else { - gSoftResetDisabled = 1; + gSoftResetDisabled = TRUE; *state = 1; } break; @@ -1326,7 +1326,7 @@ static void Task_SaveAfterLinkBattle(u8 taskId) { ClearContinueGameWarpStatus2(); *state = 3; - gSoftResetDisabled = 0; + gSoftResetDisabled = FALSE; } break; case 3: diff --git a/src/strings.c b/src/strings.c index 4452fd8256..8815212e05 100644 --- a/src/strings.c +++ b/src/strings.c @@ -244,6 +244,7 @@ const u8 gText_BootedUpHM[] = _("Booted up an HM."); const u8 gText_TMHMContainedVar1[] = _("It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?"); const u8 gText_PlayerUsedVar2[] = _("{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); const u8 gText_RepelEffectsLingered[] = _("But the effects of a REPEL\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); +const u8 gText_LureEffectsLingered[] = _("But the effects of a Lure\nlingered from earlier.{PAUSE_UNTIL_PRESS}"); const u8 gText_UsedVar2WildLured[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}"); const u8 gText_UsedVar2WildRepelled[] = _("{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}"); const u8 gText_BoxFull[] = _("The BOX is full.{PAUSE_UNTIL_PRESS}"); diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 6a7589e36f..fd3982ea1f 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -484,14 +484,14 @@ const u16 *const gTilesetAnims_BikeShop_BlinkingLights[] = { gTilesetAnims_BikeShop_BlinkingLights_Frame1 }; -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/0.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/1.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/2.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/3.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/4.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/5.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/6.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/7.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/0_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/0_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/1_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/1_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/2_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/2_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/3_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/3_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/4_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/4_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/5_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/5_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/6_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/6_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/7_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/7_groudon.4bpp"); const u16 tileset_anims_space_8[16] = {}; const u16 gTilesetAnims_Unused1_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp"); diff --git a/src/tilesets.c b/src/tilesets.c new file mode 100644 index 0000000000..2cc1da81d3 --- /dev/null +++ b/src/tilesets.c @@ -0,0 +1,7 @@ +#include "global.h" +#include "tilesets.h" +#include "tileset_anims.h" + +#include "data/tilesets/graphics.h" +#include "data/tilesets/metatiles.h" +#include "data/tilesets/headers.h" diff --git a/src/trade.c b/src/trade.c index 0ad1c66b06..03a05681ee 100644 --- a/src/trade.c +++ b/src/trade.c @@ -351,7 +351,7 @@ static void InitTradeMenu(void) FillWindowPixelBuffer(i, PIXEL_FILL(0)); } - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 15); LoadUserWindowBorderGfx_(0, 20, 0xC0); LoadUserWindowBorderGfx(2, 1, 0xE0); LoadMonIconPalettes(); @@ -1505,7 +1505,7 @@ static u8 CheckValidityOfTradeMons(u8 *aliveMons, u8 playerPartyCount, u8 player } // Can't trade specific species - if (gBaseStats[partnerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + if (gSpeciesInfo[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 @@ -2064,13 +2064,13 @@ static void RedrawTradeMenuParty(u8 whichParty) static void Task_DrawSelectionSummary(u8 taskId) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); } static void Task_DrawSelectionTrade(u8 taskId) { - FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT); CopyBgTilemapBufferToVram(0); } @@ -2365,7 +2365,7 @@ static u32 CanTradeSelectedMon(struct Pokemon *playerParty, int partyCount, int } // Can't trade specific species - if (gBaseStats[species[monIdx]].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + if (gSpeciesInfo[species[monIdx]].flags & SPECIES_FLAG_CANNOT_BE_TRADED) return CANT_TRADE_INVALID_MON; // Make Eggs not count for numMonsLeft @@ -2461,7 +2461,7 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf return UR_TRADE_MSG_MON_CANT_BE_TRADED; // Can't trade specific species - if (gBaseStats[playerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + if (gSpeciesInfo[playerSpecies].flags & SPECIES_FLAG_CANNOT_BE_TRADED) return UR_TRADE_MSG_MON_CANT_BE_TRADED; if (partnerSpecies == SPECIES_EGG) @@ -2473,8 +2473,8 @@ int GetUnionRoomTradeMessageId(struct RfuGameCompatibilityData player, struct Rf else { // Player's Pokémon must be of the type the partner requested - if (gBaseStats[playerSpecies2].type1 != requestedType - && gBaseStats[playerSpecies2].type2 != requestedType) + if (gSpeciesInfo[playerSpecies2].type1 != requestedType + && gSpeciesInfo[playerSpecies2].type2 != requestedType) return UR_TRADE_MSG_NOT_MON_PARTNER_WANTS; } @@ -2512,7 +2512,7 @@ int CanRegisterMonForTradingBoard(struct RfuGameCompatibilityData player, u16 sp return CANT_REGISTER_MON_NOW; // Can't trade specific species - if (gBaseStats[species].flags & SPECIES_FLAG_CANNOT_BE_TRADED) + if (gSpeciesInfo[species].flags & SPECIES_FLAG_CANNOT_BE_TRADED) return CANT_REGISTER_MON; if (hasNationalDex) diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 206060f1b7..ac73c3fae8 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -924,7 +924,7 @@ u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId) static void SetTrainerHillMonLevel(struct Pokemon *mon, u8 level) { u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); - u32 exp = gExperienceTables[gBaseStats[species].growthRate][level]; + u32 exp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; SetMonData(mon, MON_DATA_EXP, &exp); SetMonData(mon, MON_DATA_LEVEL, &level); diff --git a/src/union_room.c b/src/union_room.c index 467fb3e228..2a170e3042 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -271,7 +271,7 @@ static void GetURoomActivityRejectMsg(u8 *, s32, u32); static u32 ConvPartnerUnameAndGetWhetherMetAlready(struct RfuPlayer *); static void GetURoomActivityStartMsg(u8 *, u8); static void UR_ClearBg0(void); -static s32 IsRequestedTypeOrEggInPlayerParty(u32, u32); +static s32 IsRequestedTradeInPlayerParty(u32, u32); static bool32 UR_PrintFieldMessage(const u8 *); static s32 GetChatLeaderActionRequestMessage(u8 *, u32, u16 *, struct WirelessLink_URoom *); static void Task_InitUnionRoom(u8 taskId); @@ -319,9 +319,9 @@ static void PrintPlayerNameAndIdOnWindow(u8 windowId) PrintUnionRoomText(windowId, FONT_NORMAL, text, 0, 17, UR_COLOR_DEFAULT); } -static void GetAwaitingCommunicationText(u8 *dst, u8 caseId) +static void GetAwaitingCommunicationText(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_BATTLE_SINGLE: case ACTIVITY_BATTLE_DOUBLE: @@ -343,18 +343,18 @@ static void GetAwaitingCommunicationText(u8 *dst, u8 caseId) case ACTIVITY_CONTEST_TOUGH: // BUG: argument *dst isn't used, instead it always prints to gStringVar4 // not an issue in practice since Gamefreak never used any other arguments here besides gStringVar4 - #ifndef BUGFIX + #ifndef BUGFIX StringExpandPlaceholders(gStringVar4, sText_AwaitingCommunication); - #else + #else StringExpandPlaceholders(dst, sText_AwaitingCommunication); - #endif + #endif break; } } -static bool32 IsActivityWithVariableGroupSize(u32 caseId) +static bool32 IsActivityWithVariableGroupSize(u32 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_POKEMON_JUMP: case ACTIVITY_BERRY_CRUSH: @@ -507,11 +507,11 @@ static void Task_TryBecomeLinkLeader(u8 taskId) // BUG: sPlayerActivityGroupSize was meant below, not gPlayerCurrActivity // This will be false for all but ACTIVITY_BATTLE_DOUBLE and ACTIVITY_DECLINE // All this changes is which of two texts gets printed - #ifdef BUGFIX + #ifdef BUGFIX id = (GROUP_MAX(sPlayerActivityGroupSize) == 2) ? 0 : 1; - #else + #else id = (GROUP_MAX(gPlayerCurrActivity) == 2) ? 1 : 0; - #endif + #endif if (PrintOnTextbox(&data->textState, sPlayerUnavailableTexts[id])) { data->playerCount = LeaderPrunePlayerList(data->playerList); @@ -559,6 +559,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId) { if (data->joinRequestAnswer == RFU_STATUS_JOIN_GROUP_OK) { + // Sent "OK" data->playerList->players[data->playerCount].newPlayerCountdown = 0; RedrawListMenu(data->listTaskId); data->playerCount++; @@ -596,6 +597,7 @@ static void Task_TryBecomeLinkLeader(u8 taskId) } else if (val == 2) { + // Disconnect RfuSetStatus(RFU_STATUS_OK, 0); data->state = LL_STATE_GET_AWAITING_PLAYERS_TEXT; } @@ -734,9 +736,9 @@ static void Leader_DestroyResources(struct WirelessLink_Leader *data) Free(data->incomingPlayerList); } -static void Leader_GetAcceptNewMemberPrompt(u8 *dst, u8 caseId) +static void Leader_GetAcceptNewMemberPrompt(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_BATTLE_SINGLE: case ACTIVITY_BATTLE_DOUBLE: @@ -765,9 +767,9 @@ static void Leader_GetAcceptNewMemberPrompt(u8 *dst, u8 caseId) } } -static void GetYouDeclinedTheOfferMessage(u8 *dst, u8 caseId) +static void GetYouDeclinedTheOfferMessage(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_BATTLE_SINGLE | IN_UNION_ROOM: case ACTIVITY_TRADE | IN_UNION_ROOM: @@ -780,9 +782,9 @@ static void GetYouDeclinedTheOfferMessage(u8 *dst, u8 caseId) } } -static void GetYouAskedToJoinGroupPleaseWaitMessage(u8 *dst, u8 caseId) +static void GetYouAskedToJoinGroupPleaseWaitMessage(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_BATTLE_SINGLE: case ACTIVITY_BATTLE_DOUBLE: @@ -809,9 +811,9 @@ static void GetYouAskedToJoinGroupPleaseWaitMessage(u8 *dst, u8 caseId) } } -static void GetGroupLeaderSentAnOKMessage(u8 *dst, u8 caseId) +static void GetGroupLeaderSentAnOKMessage(u8 *dst, u8 activity) { - switch (caseId) + switch (activity) { case ACTIVITY_BATTLE_SINGLE: case ACTIVITY_BATTLE_DOUBLE: @@ -1039,7 +1041,7 @@ static void Task_TryJoinLinkGroup(u8 taskId) break; case 0: id = ListMenu_ProcessInput(data->listTaskId); - if (JOY_NEW(A_BUTTON) && id != MENU_B_PRESSED) + if (JOY_NEW(A_BUTTON) && id != LIST_NOTHING_CHOSEN) { // this unused variable along with the assignment is needed to match u32 activity = data->playerList->players[id].rfu.data.activity; @@ -1469,9 +1471,7 @@ static void Task_CreateTradeMenu(u8 taskId) u8 CreateTask_CreateTradeMenu(void) { - u8 taskId = CreateTask(Task_CreateTradeMenu, 0); - - return taskId; + return CreateTask(Task_CreateTradeMenu, 0); } static void Task_StartUnionRoomTrade(u8 taskId) @@ -2147,11 +2147,10 @@ static void Task_CardOrNewsWithFriend(u8 taskId) break; case 0: id = ListMenu_ProcessInput(data->listTaskId); - if (JOY_NEW(A_BUTTON) && id != -1) + if (JOY_NEW(A_BUTTON) && id != LIST_NOTHING_CHOSEN) { // this unused variable along with the assignment is needed to match - u32 unusedVar; - unusedVar = data->playerList->players[id].rfu.data.activity; + u32 activity = data->playerList->players[id].rfu.data.activity; if (data->playerList->players[id].groupScheduledAnim == UNION_ROOM_SPAWN_IN && !data->playerList->players[id].rfu.data.startedActivity) { @@ -2504,7 +2503,7 @@ static void Task_RunUnionRoom(u8 taskId) break; case UR_STATE_INIT_OBJECTS: CreateUnionRoomPlayerSprites(uroom->spriteIds, taskData[0]); - if (++taskData[0] == 8) + if (++taskData[0] == MAX_UNION_ROOM_LEADERS) uroom->state = UR_STATE_INIT_LINK; break; case UR_STATE_INIT_LINK: @@ -2711,7 +2710,7 @@ static void Task_RunUnionRoom(u8 taskId) &uroom->topListMenuId, &sWindowTemplate_InviteToActivity, &sListMenuTemplate_InviteToActivity); - if (input != -1) + if (input != LIST_NOTHING_CHOSEN) { if (!gReceivedRemoteLinkPlayers) { @@ -2721,7 +2720,7 @@ static void Task_RunUnionRoom(u8 taskId) { uroom->partnerYesNoResponse = 0; playerGender = GetUnionRoomPlayerGender(taskData[1], uroom->playerList); - if (input == -2 || input == IN_UNION_ROOM) + if (input == LIST_CANCEL || input == IN_UNION_ROOM) { uroom->playerSendBuffer[0] = IN_UNION_ROOM; Rfu_SendPacket(uroom->playerSendBuffer); @@ -3068,9 +3067,9 @@ static void Task_RunUnionRoom(u8 taskId) &uroom->tradeBoardHeaderWindowId, &sWindowTemplate_RegisterForTrade, &sListMenuTemplate_RegisterForTrade); - if (input != -1) + if (input != LIST_NOTHING_CHOSEN) { - if (input == -2 || input == 3) + if (input == LIST_CANCEL || input == 3) // Exit { uroom->state = UR_STATE_MAIN; HandleCancelActivity(TRUE); @@ -3090,7 +3089,7 @@ static void Task_RunUnionRoom(u8 taskId) } break; case UR_STATE_REGISTER_SELECT_MON_FADE: - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); uroom->state = UR_STATE_REGISTER_SELECT_MON; break; case UR_STATE_REGISTER_SELECT_MON: @@ -3107,11 +3106,11 @@ static void Task_RunUnionRoom(u8 taskId) &uroom->tradeBoardHeaderWindowId, &sWindowTemplate_TradingBoardRequestType, &sMenuTemplate_TradingBoardRequestType); - if (input != -1) + if (input != LIST_NOTHING_CHOSEN) { switch (input) { - case -2: + case LIST_CANCEL: case NUMBER_OF_MON_TYPES: // Exit ResetUnionRoomTrade(&sUnionRoomTrade); SetTradeBoardRegisteredMonInfo(TYPE_NORMAL, SPECIES_NONE, 0); @@ -3166,18 +3165,18 @@ static void Task_RunUnionRoom(u8 taskId) &sWindowTemplate_TradingBoardMain, &sTradeBoardListMenuTemplate, uroom->playerList); - if (input != -1) + if (input != LIST_NOTHING_CHOSEN) { switch (input) { - case -2: + case LIST_CANCEL: case 8: // EXIT HandleCancelActivity(TRUE); uroom->state = UR_STATE_MAIN; break; default: UR_ClearBg0(); - switch (IsRequestedTypeOrEggInPlayerParty(uroom->playerList->players[input].rfu.data.tradeType, uroom->playerList->players[input].rfu.data.tradeSpecies)) + switch (IsRequestedTradeInPlayerParty(uroom->playerList->players[input].rfu.data.tradeType, uroom->playerList->players[input].rfu.data.tradeSpecies)) { case UR_TRADE_MATCH: CopyAndTranslatePlayerName(gStringVar1, &uroom->playerList->players[input]); @@ -3680,8 +3679,8 @@ static s32 ListMenuHandler_AllItemsAvailable(u8 *state, u8 *windowId, u8 *listMe if (winTemplateCopy.width > maxWidth) winTemplateCopy.width = maxWidth; - if (winTemplateCopy.tilemapLeft + winTemplateCopy.width > 29) - winTemplateCopy.tilemapLeft = max(29 - winTemplateCopy.width, 0); + if (winTemplateCopy.tilemapLeft + winTemplateCopy.width >= DISPLAY_TILE_WIDTH) + winTemplateCopy.tilemapLeft = max(DISPLAY_TILE_WIDTH - 1 - winTemplateCopy.width, 0); *windowId = AddWindow(&winTemplateCopy); DrawStdWindowFrame(*windowId, FALSE); @@ -3707,12 +3706,12 @@ static s32 ListMenuHandler_AllItemsAvailable(u8 *state, u8 *windowId, u8 *listMe ClearStdWindowAndFrame(*windowId, TRUE); RemoveWindow(*windowId); *state = 0; - return -2; + return LIST_CANCEL; } break; } - return -1; + return LIST_NOTHING_CHOSEN; } static s32 TradeBoardMenuHandler(u8 *state, u8 *mainWindowId, u8 *listMenuId, u8 *headerWindowId, @@ -3742,13 +3741,14 @@ static s32 TradeBoardMenuHandler(u8 *state, u8 *mainWindowId, u8 *listMenuId, u8 input = ListMenu_ProcessInput(*listMenuId); if (JOY_NEW(A_BUTTON | B_BUTTON)) { + // Exit or B button if (input == 8 || JOY_NEW(B_BUTTON)) { DestroyListMenuTask(*listMenuId, NULL, NULL); RemoveWindow(*mainWindowId); DeleteTradeBoardWindow(*headerWindowId); *state = 0; - return -2; + return LIST_CANCEL; } else { @@ -3770,7 +3770,7 @@ static s32 TradeBoardMenuHandler(u8 *state, u8 *mainWindowId, u8 *listMenuId, u8 break; } - return -1; + return LIST_NOTHING_CHOSEN; } static void UR_ClearBg0(void) @@ -4090,7 +4090,7 @@ static s32 UnionRoomGetPlayerInteractionResponse(struct RfuPlayerList *list, boo } } -void ItemPrintFunc_EmptyList(u8 windowId, u32 itemId, u8 y) +static void ItemPrintFunc_EmptyList(u8 windowId, u32 itemId, u8 y) { } @@ -4120,7 +4120,7 @@ static void TradeBoardListMenuItemPrintFunc(u8 windowId, u32 itemId, u8 y) struct WirelessLink_Leader *leader = sWirelessLinkMain.leader; struct RfuGameData *gameData; s32 i, j; - u8 playerName[11]; + u8 playerName[RFU_USER_NAME_LENGTH + 1]; if (itemId == LIST_HEADER && y == sTradeBoardListMenuTemplate.upText_Y) { @@ -4168,7 +4168,7 @@ static s32 GetUnionRoomPlayerGender(s32 playerIdx, struct RfuPlayerList *list) return list->players[playerIdx].rfu.data.playerGender; } -static s32 IsRequestedTypeOrEggInPlayerParty(u32 type, u32 species) +static s32 IsRequestedTradeInPlayerParty(u32 type, u32 species) { s32 i; @@ -4187,7 +4187,7 @@ static s32 IsRequestedTypeOrEggInPlayerParty(u32 type, u32 species) for (i = 0; i < gPlayerPartyCount; i++) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); - if (gBaseStats[species].type1 == type || gBaseStats[species].type2 == type) + if (gSpeciesInfo[species].type1 == type || gSpeciesInfo[species].type2 == type) return UR_TRADE_MATCH; } return UR_TRADE_NOTYPE; diff --git a/src/union_room_battle.c b/src/union_room_battle.c index 38866c940d..ed8a52ef58 100644 --- a/src/union_room_battle.c +++ b/src/union_room_battle.c @@ -129,7 +129,7 @@ void CB2_UnionRoomBattle(void) ClearWindowTilemap(0); FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(0, PIXEL_FILL(1)); - FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); + FillBgTilemapBufferRect(0, 0, 0, 0, DISPLAY_TILE_WIDTH, DISPLAY_TILE_HEIGHT, 0xF); LoadUserWindowBorderGfx(0, 1, 0xD0); LoadUserWindowBorderGfx_(0, 1, 0xD0); Menu_LoadStdPal(); diff --git a/src/union_room_chat.c b/src/union_room_chat.c index e1ca7c0b0d..eb902fbe68 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -1171,7 +1171,7 @@ static void Chat_AskQuitChatting(void) input = ProcessMenuInput(); switch (input) { - case -1: + case MENU_B_PRESSED: case 1: StartDisplaySubtask(CHATDISPLAY_FUNC_DESTROY_YESNO, 0); sChat->funcState = 3; @@ -1210,7 +1210,7 @@ static void Chat_AskQuitChatting(void) input = ProcessMenuInput(); switch (input) { - case -1: + case MENU_B_PRESSED: case 1: StartDisplaySubtask(CHATDISPLAY_FUNC_DESTROY_YESNO, 0); sChat->funcState = 3; @@ -1512,7 +1512,7 @@ static void Chat_SaveAndExit(void) input = ProcessMenuInput(); switch (input) { - case -1: + case MENU_B_PRESSED: case 1: sChat->funcState = 12; break; @@ -1537,7 +1537,7 @@ static void Chat_SaveAndExit(void) input = ProcessMenuInput(); switch (input) { - case -1: + case MENU_B_PRESSED: case 1: sChat->funcState = 12; break; diff --git a/src/union_room_player_avatar.c b/src/union_room_player_avatar.c index 0eed65a635..31f535310d 100644 --- a/src/union_room_player_avatar.c +++ b/src/union_room_player_avatar.c @@ -340,15 +340,10 @@ static void AnimateUnionRoomPlayer(u32 leaderId, struct UnionRoomObject * object } break; case 1: - if (object->schedAnim == UNION_ROOM_SPAWN_OUT) - { - object->state = 3; - object->animState = 0; - } - else - { + if (object->schedAnim != UNION_ROOM_SPAWN_OUT) break; - } + object->state = 3; + object->animState = 0; // fallthrough case 3: if (AnimateUnionRoomPlayerDespawn(&object->animState, leaderId, object) == 1) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 8bf8c45e0e..2c9730cd5e 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -18,13 +18,14 @@ #include "battle_pike.h" #include "battle_pyramid.h" #include "constants/abilities.h" -#include "constants/battle_config.h" #include "constants/game_stat.h" +#include "constants/item.h" #include "constants/items.h" #include "constants/layouts.h" #include "constants/weather.h" extern const u8 EventScript_RepelWoreOff[]; +extern const u8 EventScript_LureWoreOff[]; #define MAX_ENCOUNTER_RATE 2880 @@ -54,6 +55,7 @@ static void FeebasSeedRng(u16 seed); static bool8 IsWildLevelAllowedByRepel(u8 level); static void ApplyFluteEncounterRateMod(u32 *encRate); static void ApplyCleanseTagEncounterRateMod(u32 *encRate); +static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 species, u8 area); static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex); static bool8 IsAbilityAllowingEncounter(u8 level); @@ -181,58 +183,82 @@ static void FeebasSeedRng(u16 seed) // LAND_WILD_COUNT static u8 ChooseWildMonIndex_Land(void) { + u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % ENCOUNTER_CHANCE_LAND_MONS_TOTAL; if (rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_0) - return 0; + wildMonIndex = 0; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_1) - return 1; + wildMonIndex = 1; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_2) - return 2; + wildMonIndex = 2; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_3) - return 3; + wildMonIndex = 3; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_4) - return 4; + wildMonIndex = 4; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_4 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_5) - return 5; + wildMonIndex = 5; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_6) - return 6; + wildMonIndex = 6; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_7) - return 7; + wildMonIndex = 7; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_8) - return 8; + wildMonIndex = 8; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_9) - return 9; + wildMonIndex = 9; else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_9 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_10) - return 10; + wildMonIndex = 10; else - return 11; + wildMonIndex = 11; + + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + + if (swap) + wildMonIndex = 11 - wildMonIndex; + + return wildMonIndex; } // ROCK_WILD_COUNT / WATER_WILD_COUNT static u8 ChooseWildMonIndex_WaterRock(void) { + u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % ENCOUNTER_CHANCE_WATER_MONS_TOTAL; if (rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_0) - return 0; + wildMonIndex = 0; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_1) - return 1; + wildMonIndex = 1; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_2) - return 2; + wildMonIndex = 2; else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_3) - return 3; + wildMonIndex = 3; else - return 4; + wildMonIndex = 4; + + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + + if (swap) + wildMonIndex = 4 - wildMonIndex; + + return wildMonIndex; } // FISH_WILD_COUNT static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; + bool8 swap = FALSE; u8 rand = Random() % max(max(ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL, ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL), ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL); + if (LURE_STEP_COUNT != 0 && (Random() % 10 < 2)) + swap = TRUE; + switch (rod) { case OLD_ROD: @@ -240,6 +266,9 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 0; else wildMonIndex = 1; + + if (swap) + wildMonIndex = 1 - wildMonIndex; break; case GOOD_ROD: if (rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2) @@ -248,6 +277,9 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 3; if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4) wildMonIndex = 4; + + if (swap) + wildMonIndex = 6 - wildMonIndex; break; case SUPER_ROD: if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5) @@ -260,46 +292,61 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod) wildMonIndex = 8; if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_9) wildMonIndex = 9; + + if (swap) + wildMonIndex = 14 - wildMonIndex; break; } return wildMonIndex; } -static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon) +static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon, u8 wildMonIndex, u8 area) { u8 min; u8 max; u8 range; u8 rand; - // Make sure minimum level is less than maximum level - if (wildPokemon->maxLevel >= wildPokemon->minLevel) + if (LURE_STEP_COUNT == 0) { - min = wildPokemon->minLevel; - max = wildPokemon->maxLevel; + // Make sure minimum level is less than maximum level + if (wildPokemon[wildMonIndex].maxLevel >= wildPokemon[wildMonIndex].minLevel) + { + min = wildPokemon[wildMonIndex].minLevel; + max = wildPokemon[wildMonIndex].maxLevel; + } + else + { + min = wildPokemon[wildMonIndex].maxLevel; + max = wildPokemon[wildMonIndex].minLevel; + } + range = max - min + 1; + rand = Random() % range; + + // check ability for max level mon + if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) + { + u16 ability = GetMonAbility(&gPlayerParty[0]); + if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) + { + if (Random() % 2 == 0) + return max; + + if (rand != 0) + rand--; + } + } + return min + rand; } else { - min = wildPokemon->maxLevel; - max = wildPokemon->minLevel; + // Looks for the max level of all slots that share the same species as the selected slot. + max = GetMaxLevelOfSpeciesInWildTable(wildPokemon, wildPokemon[wildMonIndex].species, area); + if (max > 0) + return max + 1; + else // Failsafe + return wildPokemon[wildMonIndex].maxLevel + 1; } - range = max - min + 1; - rand = Random() % range; - - // check ability for max level mon - if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) - { - u16 ability = GetMonAbility(&gPlayerParty[0]); - if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE) - { - if (Random() % 2 == 0) - return max; - - if (rand != 0) - rand--; - } - } - return min + rand; } static u16 GetCurrentMapWildMonHeaderId(void) @@ -386,7 +433,7 @@ static void CreateWildMon(u16 species, u8 level) ZeroEnemyPartyMons(); checkCuteCharm = TRUE; - switch (gBaseStats[species].genderRatio) + switch (gSpeciesInfo[species].genderRatio) { case MON_MALE: case MON_FEMALE: @@ -461,7 +508,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar break; } - level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + level = ChooseWildMonLevel(wildMonInfo->wildPokemon, wildMonIndex, area); if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) return FALSE; if (gMapHeader.mapLayoutId != LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) @@ -474,7 +521,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar static u16 GenerateFishingWildMon(const struct WildPokemonInfo *wildMonInfo, u8 rod) { u8 wildMonIndex = ChooseWildMonIndex_Fishing(rod); - u8 level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); + u8 level = ChooseWildMonLevel(wildMonInfo->wildPokemon, wildMonIndex, WILD_AREA_FISHING); CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); return wildMonInfo->wildPokemon[wildMonIndex].species; @@ -506,7 +553,7 @@ static bool8 DoMassOutbreakEncounterTest(void) return FALSE; } -static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) +static bool8 EncounterOddsCheck(u16 encounterRate) { if (Random() % MAX_ENCOUNTER_RATE < encounterRate) return TRUE; @@ -514,13 +561,16 @@ static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate) return FALSE; } -static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) +// Returns true if it will try to create a wild encounter. +static bool8 WildEncounterCheck(u32 encounterRate, bool8 ignoreAbility) { encounterRate *= 16; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) encounterRate = encounterRate * 80 / 100; ApplyFluteEncounterRateMod(&encounterRate); ApplyCleanseTagEncounterRateMod(&encounterRate); + if (LURE_STEP_COUNT != 0) + encounterRate *= 2; if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) { u32 ability = GetMonAbility(&gPlayerParty[0]); @@ -548,10 +598,12 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) } if (encounterRate > MAX_ENCOUNTER_RATE) encounterRate = MAX_ENCOUNTER_RATE; - return DoWildEncounterRateDiceRoll(encounterRate); + return EncounterOddsCheck(encounterRate); } -static bool8 DoGlobalWildEncounterDiceRoll(void) +// When you first step on a different type of metatile, there's a 40% chance it +// skips the wild encounter check entirely. +static bool8 AllowWildCheckOnNewMetatile(void) { if (Random() % 100 >= 60) return FALSE; @@ -570,7 +622,7 @@ static bool8 AreLegendariesInSootopolisPreventingEncounters(void) return FlagGet(FLAG_LEGENDARIES_IN_SOOTOPOLIS); } -bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior) +bool8 StandardWildEncounter(u16 curMetatileBehavior, u16 prevMetatileBehavior) { u16 headerId; struct Roamer *roamer; @@ -584,9 +636,9 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS) { headerId = GetBattlePikeWildMonHeaderId(); - if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gBattlePikeWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gBattlePikeWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; else if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) return FALSE; @@ -599,9 +651,9 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi if (gMapHeader.mapLayoutId == LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR) { headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum; - if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; else if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE) != TRUE) return FALSE; @@ -613,13 +665,13 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi } else { - if (MetatileBehavior_IsLandWildEncounter(currMetaTileBehavior) == TRUE) + if (MetatileBehavior_IsLandWildEncounter(curMetatileBehavior) == TRUE) { if (gWildMonHeaders[headerId].landMonsInfo == NULL) return FALSE; - else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + else if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; if (TryStartRoamerEncounter() == TRUE) @@ -659,16 +711,16 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi return FALSE; } } - else if (MetatileBehavior_IsWaterWildEncounter(currMetaTileBehavior) == TRUE - || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridgeOverWater(currMetaTileBehavior) == TRUE)) + else if (MetatileBehavior_IsWaterWildEncounter(curMetatileBehavior) == TRUE + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridgeOverWater(curMetatileBehavior) == TRUE)) { if (AreLegendariesInSootopolisPreventingEncounters() == TRUE) return FALSE; else if (gWildMonHeaders[headerId].waterMonsInfo == NULL) return FALSE; - else if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) + else if (prevMetatileBehavior != curMetatileBehavior && !AllowWildCheckOnNewMetatile()) return FALSE; - else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) + else if (WildEncounterCheck(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) return FALSE; if (TryStartRoamerEncounter() == TRUE) @@ -719,7 +771,7 @@ void RockSmashWildEncounter(void) { gSpecialVar_Result = FALSE; } - else if (DoWildEncounterRateTest(wildPokemonInfo->encounterRate, TRUE) == TRUE + else if (WildEncounterCheck(wildPokemonInfo->encounterRate, TRUE) == TRUE && TryGenerateWildMon(wildPokemonInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL | WILD_CHECK_KEEN_EYE) == TRUE) { BattleSetup_StartWildBattle(); @@ -825,7 +877,7 @@ void FishingWildEncounter(u8 rod) if (CheckFeebas() == TRUE) { - u8 level = ChooseWildMonLevel(&sWildFeebas); + u8 level = ChooseWildMonLevel(&sWildFeebas, 0, WILD_AREA_FISHING); species = sWildFeebas.species; CreateWildMon(species, level); @@ -892,24 +944,37 @@ u16 GetLocalWaterMon(void) bool8 UpdateRepelCounter(void) { - u16 steps; + u16 repelLureVar = VarGet(VAR_REPEL_STEP_COUNT); + u16 steps = REPEL_LURE_STEPS(repelLureVar); + bool32 isLure = IS_LAST_USED_LURE(repelLureVar); if (InBattlePike() || InBattlePyramid()) return FALSE; if (InUnionRoom() == TRUE) return FALSE; - steps = VarGet(VAR_REPEL_STEP_COUNT); - if (steps != 0) { steps--; - VarSet(VAR_REPEL_STEP_COUNT, steps); - if (steps == 0) + if (!isLure) { - ScriptContext_SetupScript(EventScript_RepelWoreOff); - return TRUE; + VarSet(VAR_REPEL_STEP_COUNT, steps); + if (steps == 0) + { + ScriptContext_SetupScript(EventScript_RepelWoreOff); + return TRUE; + } } + else + { + VarSet(VAR_REPEL_STEP_COUNT, steps | REPEL_LURE_MASK); + if (steps == 0) + { + ScriptContext_SetupScript(EventScript_LureWoreOff); + return TRUE; + } + } + } return FALSE; } @@ -918,7 +983,7 @@ static bool8 IsWildLevelAllowedByRepel(u8 wildLevel) { u8 i; - if (!VarGet(VAR_REPEL_STEP_COUNT)) + if (!REPEL_STEP_COUNT) return TRUE; for (i = 0; i < PARTY_SIZE; i++) @@ -965,7 +1030,7 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u for (validMonCount = 0, i = 0; i < numMon; i++) { - if (gBaseStats[wildMon[i].species].type1 == type || gBaseStats[wildMon[i].species].type2 == type) + if (gSpeciesInfo[wildMon[i].species].type1 == type || gSpeciesInfo[wildMon[i].species].type2 == type) validIndexes[validMonCount++] = i; } @@ -976,6 +1041,34 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u return TRUE; } +#include "data.h" + +static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 species, u8 area) +{ + u8 i, maxLevel = 0, numMon = 0; + + switch (area) + { + case WILD_AREA_LAND: + numMon = LAND_WILD_COUNT; + break; + case WILD_AREA_WATER: + numMon = WATER_WILD_COUNT; + break; + case WILD_AREA_ROCKS: + numMon = ROCK_WILD_COUNT; + break; + } + + for (i = 0; i < numMon; i++) + { + if (wildMon[i].species == species && wildMon[i].maxLevel > maxLevel) + maxLevel = wildMon[i].maxLevel; + } + + return maxLevel; +} + static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex) { if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) @@ -1011,7 +1104,7 @@ bool8 TryDoDoubleWildBattle(void) return TRUE; #endif #if B_DOUBLE_WILD_CHANCE != 0 - else if ((Random() % 100) + 1 < B_DOUBLE_WILD_CHANCE) + else if ((Random() % 100) + 1 <= B_DOUBLE_WILD_CHANCE) return TRUE; #endif return FALSE; diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 40e4bb84df..d18df8bc7c 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -18,6 +18,7 @@ #include "union_room.h" #include "constants/songs.h" #include "constants/union_room.h" +#include "constants/rgb.h" enum { COLORMODE_NORMAL, @@ -51,9 +52,26 @@ static void Task_WirelessCommunicationScreen(u8); static void WCSS_AddTextPrinterParameterized(u8, u8, const u8 *, u8, u8, u8); static bool32 UpdateCommunicationCounts(u32 *, u32 *, u32 *, u8); -static const u16 sBgTiles_Pal[] = INCBIN_U16("graphics/link/wireless_info_screen.gbapal"); -static const u32 sBgTiles_Gfx[] = INCBIN_U32("graphics/link/wireless_info_screen.4bpp.lz"); -static const u32 sBgTiles_Tilemap[] = INCBIN_U32("graphics/link/wireless_info_screen.bin.lz"); +static const u16 sPalettes[][16] = { + INCBIN_U16("graphics/wireless_status_screen/default.gbapal"), + {}, // All black. Never read + INCBIN_U16("graphics/wireless_status_screen/anim_00.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_01.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_02.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_03.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_04.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_05.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_06.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_07.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_08.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_09.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_10.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_11.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_12.gbapal"), + INCBIN_U16("graphics/wireless_status_screen/anim_13.gbapal") +}; +static const u32 sBgTiles_Gfx[] = INCBIN_U32("graphics/wireless_status_screen/bg.4bpp.lz"); +static const u32 sBgTiles_Tilemap[] = INCBIN_U32("graphics/wireless_status_screen/bg.bin.lz"); static const struct BgTemplate sBgTemplates[] = { { @@ -193,7 +211,7 @@ static void CB2_InitWirelessCommunicationScreen(void) ChangeBgY(0, 0, BG_COORD_SET); ChangeBgX(1, 0, BG_COORD_SET); ChangeBgY(1, 0, BG_COORD_SET); - LoadPalette(sBgTiles_Pal, 0x00, 0x20); + LoadPalette(sPalettes, 0x00, 0x20); Menu_LoadStdPalAt(0xF0); DynamicPlaceholderTextUtil_Reset(); FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0x0F); @@ -218,16 +236,19 @@ static void CB2_ExitWirelessCommunicationStatusScreen(void) SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } -static void WCSS_CyclePalette(s16 * counter, s16 * palIdx) +// Cycle through palettes that relocate various shades of blue to create the wave effect at the bottom of the screen. +static void CyclePalette(s16 * counter, s16 * palIdx) { + s32 idx; if (++(*counter) > 5) { - if (++(*palIdx) == 14) + if (++(*palIdx) == (int)ARRAY_COUNT(sPalettes) - 2) *palIdx = 0; *counter = 0; } - LoadPalette(sBgTiles_Pal + 16 * (*palIdx + 2), 0, 0x10); + idx = *palIdx + 2; // +2 skips over default.pal and the empty black palette after it + LoadPalette(sPalettes[idx], 0, 16); } static void PrintHeaderTexts(void) @@ -236,12 +257,17 @@ static void PrintHeaderTexts(void) FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(1, PIXEL_FILL(0)); FillWindowPixelBuffer(2, PIXEL_FILL(0)); + + // Print title WCSS_AddTextPrinterParameterized(0, FONT_NORMAL, sHeaderTexts[0], GetStringCenterAlignXOffset(FONT_NORMAL, sHeaderTexts[0], 0xC0), 6, COLORMODE_GREEN); - for (i = 0; i < (int)ARRAY_COUNT(*sHeaderTexts) - 1; i++) - { + + // Print label for each group (excluding total) + for (i = 0; i < NUM_GROUPTYPES - 1; i++) WCSS_AddTextPrinterParameterized(1, FONT_NORMAL, sHeaderTexts[i + 1], 0, 30 * i + 8, COLORMODE_WHITE_LGRAY); - } + + // Print label for total WCSS_AddTextPrinterParameterized(1, FONT_NORMAL, sHeaderTexts[i + 1], 0, 30 * i + 8, COLORMODE_RED); + PutWindowTilemap(0); CopyWindowToVram(0, COPYWIN_GFX); PutWindowTilemap(1); @@ -260,7 +286,7 @@ static void Task_WirelessCommunicationScreen(u8 taskId) gTasks[taskId].tState++; break; case 1: - BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, 0); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); ShowBg(1); CopyBgTilemapBufferToVram(0); ShowBg(0); @@ -268,9 +294,7 @@ static void Task_WirelessCommunicationScreen(u8 taskId) break; case 2: if (!gPaletteFade.active) - { gTasks[taskId].tState++; - } break; case 3: if (UpdateCommunicationCounts(sStatusScreen->groupCounts, sStatusScreen->prevGroupCounts, sStatusScreen->activities, sStatusScreen->rfuTaskId)) @@ -293,10 +317,10 @@ static void Task_WirelessCommunicationScreen(u8 taskId) gTasks[sStatusScreen->rfuTaskId].data[15] = 0xFF; gTasks[taskId].tState++; } - WCSS_CyclePalette(&gTasks[taskId].data[7], &gTasks[taskId].data[8]); + CyclePalette(&gTasks[taskId].data[7], &gTasks[taskId].data[8]); break; case 4: - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, 0); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gTasks[taskId].tState++; break; case 5: diff --git a/tools/jsonproc/Makefile b/tools/jsonproc/Makefile index eec73eb7bf..653d585679 100755 --- a/tools/jsonproc/Makefile +++ b/tools/jsonproc/Makefile @@ -1,6 +1,6 @@ CXX ?= g++ -CXXFLAGS := -Wall -std=c++11 -O2 +CXXFLAGS := -Wall -std=c++17 -O2 INCLUDES := -I . diff --git a/tools/jsonproc/inja.hpp b/tools/jsonproc/inja.hpp index 21478ea115..5b469745fb 100755 --- a/tools/jsonproc/inja.hpp +++ b/tools/jsonproc/inja.hpp @@ -1,1427 +1,841 @@ -// MIT License +/* + ___ _ Version 3.3 + |_ _|_ __ (_) __ _ https://github.com/pantor/inja + | || '_ \ | |/ _` | Licensed under the MIT License . + | || | | || | (_| | + |___|_| |_|/ |\__,_| Copyright (c) 2018-2021 Lars Berscheid + |__/ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ -// Copyright (c) 2018 lbersch +#ifndef INCLUDE_INJA_INJA_HPP_ +#define INCLUDE_INJA_INJA_HPP_ -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: +#include -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. +namespace inja { +#ifndef INJA_DATA_TYPE +using json = nlohmann::json; +#else +using json = INJA_DATA_TYPE; +#endif +} // namespace inja -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(INJA_NOEXCEPTION) +#ifndef INJA_THROW +#define INJA_THROW(exception) throw exception +#endif +#else +#include +#ifndef INJA_THROW +#define INJA_THROW(exception) \ + std::abort(); \ + std::ignore = exception +#endif +#ifndef INJA_NOEXCEPTION +#define INJA_NOEXCEPTION +#endif +#endif +// #include "environment.hpp" +#ifndef INCLUDE_INJA_ENVIRONMENT_HPP_ +#define INCLUDE_INJA_ENVIRONMENT_HPP_ -// --- - - -// Copyright (c) 2009-2018 FIRST -// 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 FIRST 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 FIRST AND CONTRIBUTORS``AS IS'' AND ANY -// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS 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. - -#ifndef PANTOR_INJA_HPP -#define PANTOR_INJA_HPP - -#include +#include #include -#include #include #include #include +#include + +// #include "config.hpp" +#ifndef INCLUDE_INJA_CONFIG_HPP_ +#define INCLUDE_INJA_CONFIG_HPP_ + +#include +#include + +// #include "template.hpp" +#ifndef INCLUDE_INJA_TEMPLATE_HPP_ +#define INCLUDE_INJA_TEMPLATE_HPP_ + +#include +#include +#include #include -#include +// #include "node.hpp" +#ifndef INCLUDE_INJA_NODE_HPP_ +#define INCLUDE_INJA_NODE_HPP_ -// #include "environment.hpp" -#ifndef PANTOR_INJA_ENVIRONMENT_HPP -#define PANTOR_INJA_ENVIRONMENT_HPP - -#include -#include -#include #include +#include +#include -#include - -// #include "config.hpp" -#ifndef PANTOR_INJA_CONFIG_HPP -#define PANTOR_INJA_CONFIG_HPP - -#include -#include - -// #include "string_view.hpp" -// Copyright 2017-2019 by Martin Moene -// -// string-view lite, a C++17-like string_view for C++98 and later. -// For more information see https://github.com/martinmoene/string-view-lite -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - - -#ifndef NONSTD_SV_LITE_H_INCLUDED -#define NONSTD_SV_LITE_H_INCLUDED - -#define string_view_lite_MAJOR 1 -#define string_view_lite_MINOR 1 -#define string_view_lite_PATCH 0 - -#define string_view_lite_VERSION nssv_STRINGIFY(string_view_lite_MAJOR) "." nssv_STRINGIFY(string_view_lite_MINOR) "." nssv_STRINGIFY(string_view_lite_PATCH) - -#define nssv_STRINGIFY( x ) nssv_STRINGIFY_( x ) -#define nssv_STRINGIFY_( x ) #x - -// string-view lite configuration: - -#define nssv_STRING_VIEW_DEFAULT 0 -#define nssv_STRING_VIEW_NONSTD 1 -#define nssv_STRING_VIEW_STD 2 - -#if !defined( nssv_CONFIG_SELECT_STRING_VIEW ) -# define nssv_CONFIG_SELECT_STRING_VIEW ( nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD ) -#endif - -#if defined( nssv_CONFIG_SELECT_STD_STRING_VIEW ) || defined( nssv_CONFIG_SELECT_NONSTD_STRING_VIEW ) -# error nssv_CONFIG_SELECT_STD_STRING_VIEW and nssv_CONFIG_SELECT_NONSTD_STRING_VIEW are deprecated and removed, please use nssv_CONFIG_SELECT_STRING_VIEW=nssv_STRING_VIEW_... -#endif - -#ifndef nssv_CONFIG_STD_SV_OPERATOR -# define nssv_CONFIG_STD_SV_OPERATOR 0 -#endif - -#ifndef nssv_CONFIG_USR_SV_OPERATOR -# define nssv_CONFIG_USR_SV_OPERATOR 1 -#endif - -#ifdef nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS nssv_CONFIG_CONVERSION_STD_STRING -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS nssv_CONFIG_CONVERSION_STD_STRING -#endif - -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS -# define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS 1 -#endif - -#ifndef nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS -# define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS 1 -#endif - -// Control presence of exception handling (try and auto discover): - -#ifndef nssv_CONFIG_NO_EXCEPTIONS -# if defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND) -# define nssv_CONFIG_NO_EXCEPTIONS 0 -# else -# define nssv_CONFIG_NO_EXCEPTIONS 1 -# endif -#endif - -// C++ language version detection (C++20 is speculative): -// Note: VC14.0/1900 (VS2015) lacks too much from C++14. - -#ifndef nssv_CPLUSPLUS -# if defined(_MSVC_LANG ) && !defined(__clang__) -# define nssv_CPLUSPLUS (_MSC_VER == 1900 ? 201103L : _MSVC_LANG ) -# else -# define nssv_CPLUSPLUS __cplusplus -# endif -#endif - -#define nssv_CPP98_OR_GREATER ( nssv_CPLUSPLUS >= 199711L ) -#define nssv_CPP11_OR_GREATER ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP11_OR_GREATER_ ( nssv_CPLUSPLUS >= 201103L ) -#define nssv_CPP14_OR_GREATER ( nssv_CPLUSPLUS >= 201402L ) -#define nssv_CPP17_OR_GREATER ( nssv_CPLUSPLUS >= 201703L ) -#define nssv_CPP20_OR_GREATER ( nssv_CPLUSPLUS >= 202000L ) - -// use C++17 std::string_view if available and requested: - -#if nssv_CPP17_OR_GREATER && defined(__has_include ) -# if __has_include( ) -# define nssv_HAVE_STD_STRING_VIEW 1 -# else -# define nssv_HAVE_STD_STRING_VIEW 0 -# endif -#else -# define nssv_HAVE_STD_STRING_VIEW 0 -#endif - -#define nssv_USES_STD_STRING_VIEW ( (nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_STD) || ((nssv_CONFIG_SELECT_STRING_VIEW == nssv_STRING_VIEW_DEFAULT) && nssv_HAVE_STD_STRING_VIEW) ) - -#define nssv_HAVE_STARTS_WITH ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW ) -#define nssv_HAVE_ENDS_WITH nssv_HAVE_STARTS_WITH - -// -// Use C++17 std::string_view: -// - -#if nssv_USES_STD_STRING_VIEW +// #include "function_storage.hpp" +#ifndef INCLUDE_INJA_FUNCTION_STORAGE_HPP_ +#define INCLUDE_INJA_FUNCTION_STORAGE_HPP_ #include +#include -// Extensions for std::string: +namespace inja { -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS +using Arguments = std::vector; +using CallbackFunction = std::function; +using VoidCallbackFunction = std::function; -namespace nonstd { +/*! + * \brief Class for builtin functions and user-defined callbacks. + */ +class FunctionStorage { +public: + enum class Operation { + Not, + And, + Or, + In, + Equal, + NotEqual, + Greater, + GreaterEqual, + Less, + LessEqual, + Add, + Subtract, + Multiplication, + Division, + Power, + Modulo, + AtId, + At, + Default, + DivisibleBy, + Even, + Exists, + ExistsInObject, + First, + Float, + Int, + IsArray, + IsBoolean, + IsFloat, + IsInteger, + IsNumber, + IsObject, + IsString, + Last, + Length, + Lower, + Max, + Min, + Odd, + Range, + Round, + Sort, + Upper, + Super, + Join, + Callback, + ParenLeft, + ParenRight, + None, + }; -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( std::basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} + struct FunctionData { + explicit FunctionData(const Operation& op, const CallbackFunction& cb = CallbackFunction {}): operation(op), callback(cb) {} + const Operation operation; + const CallbackFunction callback; + }; -template< class CharT, class Traits, class Allocator > -std::basic_string_view -to_string_view( std::basic_string const & s ) -{ - return std::basic_string_view( s.data(), s.size() ); -} +private: + const int VARIADIC {-1}; -// Literal operators sv and _sv: + std::map, FunctionData> function_storage = { + {std::make_pair("at", 2), FunctionData {Operation::At}}, + {std::make_pair("default", 2), FunctionData {Operation::Default}}, + {std::make_pair("divisibleBy", 2), FunctionData {Operation::DivisibleBy}}, + {std::make_pair("even", 1), FunctionData {Operation::Even}}, + {std::make_pair("exists", 1), FunctionData {Operation::Exists}}, + {std::make_pair("existsIn", 2), FunctionData {Operation::ExistsInObject}}, + {std::make_pair("first", 1), FunctionData {Operation::First}}, + {std::make_pair("float", 1), FunctionData {Operation::Float}}, + {std::make_pair("int", 1), FunctionData {Operation::Int}}, + {std::make_pair("isArray", 1), FunctionData {Operation::IsArray}}, + {std::make_pair("isBoolean", 1), FunctionData {Operation::IsBoolean}}, + {std::make_pair("isFloat", 1), FunctionData {Operation::IsFloat}}, + {std::make_pair("isInteger", 1), FunctionData {Operation::IsInteger}}, + {std::make_pair("isNumber", 1), FunctionData {Operation::IsNumber}}, + {std::make_pair("isObject", 1), FunctionData {Operation::IsObject}}, + {std::make_pair("isString", 1), FunctionData {Operation::IsString}}, + {std::make_pair("last", 1), FunctionData {Operation::Last}}, + {std::make_pair("length", 1), FunctionData {Operation::Length}}, + {std::make_pair("lower", 1), FunctionData {Operation::Lower}}, + {std::make_pair("max", 1), FunctionData {Operation::Max}}, + {std::make_pair("min", 1), FunctionData {Operation::Min}}, + {std::make_pair("odd", 1), FunctionData {Operation::Odd}}, + {std::make_pair("range", 1), FunctionData {Operation::Range}}, + {std::make_pair("round", 2), FunctionData {Operation::Round}}, + {std::make_pair("sort", 1), FunctionData {Operation::Sort}}, + {std::make_pair("upper", 1), FunctionData {Operation::Upper}}, + {std::make_pair("super", 0), FunctionData {Operation::Super}}, + {std::make_pair("super", 1), FunctionData {Operation::Super}}, + {std::make_pair("join", 2), FunctionData {Operation::Join}}, + }; -#if nssv_CONFIG_STD_SV_OPERATOR +public: + void add_builtin(std::string_view name, int num_args, Operation op) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData {op}); + } -using namespace std::literals::string_view_literals; + void add_callback(std::string_view name, int num_args, const CallbackFunction& callback) { + function_storage.emplace(std::make_pair(static_cast(name), num_args), FunctionData {Operation::Callback, callback}); + } -#endif + FunctionData find_function(std::string_view name, int num_args) const { + auto it = function_storage.find(std::make_pair(static_cast(name), num_args)); + if (it != function_storage.end()) { + return it->second; -#if nssv_CONFIG_USR_SV_OPERATOR + // Find variadic function + } else if (num_args > 0) { + it = function_storage.find(std::make_pair(static_cast(name), VARIADIC)); + if (it != function_storage.end()) { + return it->second; + } + } -inline namespace literals { -inline namespace string_view_literals { + return FunctionData {Operation::None}; + } +}; +} // namespace inja -constexpr std::string_view operator "" _sv( const char* str, size_t len ) noexcept // (1) -{ - return std::string_view{ str, len }; -} +#endif // INCLUDE_INJA_FUNCTION_STORAGE_HPP_ -constexpr std::u16string_view operator "" _sv( const char16_t* str, size_t len ) noexcept // (2) -{ - return std::u16string_view{ str, len }; -} - -constexpr std::u32string_view operator "" _sv( const char32_t* str, size_t len ) noexcept // (3) -{ - return std::u32string_view{ str, len }; -} - -constexpr std::wstring_view operator "" _sv( const wchar_t* str, size_t len ) noexcept // (4) -{ - return std::wstring_view{ str, len }; -} - -}} // namespace literals::string_view_literals - -#endif // nssv_CONFIG_USR_SV_OPERATOR - -} // namespace nonstd - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -namespace nonstd { - -using std::string_view; -using std::wstring_view; -using std::u16string_view; -using std::u32string_view; -using std::basic_string_view; - -// literal "sv" and "_sv", see above - -using std::operator==; -using std::operator!=; -using std::operator<; -using std::operator<=; -using std::operator>; -using std::operator>=; - -using std::operator<<; - -} // namespace nonstd - -#else // nssv_HAVE_STD_STRING_VIEW - -// -// Before C++17: use string_view lite: -// - -// Compiler versions: -// -// MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0) -// MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002) -// MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003) -// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) -// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) -// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) -// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) -// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) -// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) -// MSVC++ 14.1 _MSC_VER >= 1910 (Visual Studio 2017) - -#if defined(_MSC_VER ) && !defined(__clang__) -# define nssv_COMPILER_MSVC_VER (_MSC_VER ) -# define nssv_COMPILER_MSVC_VERSION (_MSC_VER / 10 - 10 * ( 5 + (_MSC_VER < 1900 ) ) ) -#else -# define nssv_COMPILER_MSVC_VER 0 -# define nssv_COMPILER_MSVC_VERSION 0 -#endif - -#define nssv_COMPILER_VERSION( major, minor, patch ) (10 * ( 10 * major + minor) + patch) - -#if defined(__clang__) -# define nssv_COMPILER_CLANG_VERSION nssv_COMPILER_VERSION(__clang_major__, __clang_minor__, __clang_patchlevel__) -#else -# define nssv_COMPILER_CLANG_VERSION 0 -#endif - -#if defined(__GNUC__) && !defined(__clang__) -# define nssv_COMPILER_GNUC_VERSION nssv_COMPILER_VERSION(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) -#else -# define nssv_COMPILER_GNUC_VERSION 0 -#endif - -// half-open range [lo..hi): -#define nssv_BETWEEN( v, lo, hi ) ( (lo) <= (v) && (v) < (hi) ) - -// Presence of language and library features: - -#ifdef _HAS_CPP0X -# define nssv_HAS_CPP0X _HAS_CPP0X -#else -# define nssv_HAS_CPP0X 0 -#endif - -// Unless defined otherwise below, consider VC14 as C++11 for variant-lite: - -#if nssv_COMPILER_MSVC_VER >= 1900 -# undef nssv_CPP11_OR_GREATER -# define nssv_CPP11_OR_GREATER 1 -#endif - -#define nssv_CPP11_90 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500) -#define nssv_CPP11_100 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600) -#define nssv_CPP11_110 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700) -#define nssv_CPP11_120 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800) -#define nssv_CPP11_140 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900) -#define nssv_CPP11_141 (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910) - -#define nssv_CPP14_000 (nssv_CPP14_OR_GREATER) -#define nssv_CPP17_000 (nssv_CPP17_OR_GREATER) - -// Presence of C++11 language features: - -#define nssv_HAVE_CONSTEXPR_11 nssv_CPP11_140 -#define nssv_HAVE_EXPLICIT_CONVERSION nssv_CPP11_140 -#define nssv_HAVE_INLINE_NAMESPACE nssv_CPP11_140 -#define nssv_HAVE_NOEXCEPT nssv_CPP11_140 -#define nssv_HAVE_NULLPTR nssv_CPP11_100 -#define nssv_HAVE_REF_QUALIFIER nssv_CPP11_140 -#define nssv_HAVE_UNICODE_LITERALS nssv_CPP11_140 -#define nssv_HAVE_USER_DEFINED_LITERALS nssv_CPP11_140 -#define nssv_HAVE_WCHAR16_T nssv_CPP11_100 -#define nssv_HAVE_WCHAR32_T nssv_CPP11_100 - -#if ! ( ( nssv_CPP11 && nssv_COMPILER_CLANG_VERSION ) || nssv_BETWEEN( nssv_COMPILER_CLANG_VERSION, 300, 400 ) ) -# define nssv_HAVE_STD_DEFINED_LITERALS nssv_CPP11_140 -#endif - -// Presence of C++14 language features: - -#define nssv_HAVE_CONSTEXPR_14 nssv_CPP14_000 - -// Presence of C++17 language features: - -#define nssv_HAVE_NODISCARD nssv_CPP17_000 - -// Presence of C++ library features: - -#define nssv_HAVE_STD_HASH nssv_CPP11_120 - -// C++ feature usage: - -#if nssv_HAVE_CONSTEXPR_11 -# define nssv_constexpr constexpr -#else -# define nssv_constexpr /*constexpr*/ -#endif - -#if nssv_HAVE_CONSTEXPR_14 -# define nssv_constexpr14 constexpr -#else -# define nssv_constexpr14 /*constexpr*/ -#endif - -#if nssv_HAVE_EXPLICIT_CONVERSION -# define nssv_explicit explicit -#else -# define nssv_explicit /*explicit*/ -#endif - -#if nssv_HAVE_INLINE_NAMESPACE -# define nssv_inline_ns inline -#else -# define nssv_inline_ns /*inline*/ -#endif - -#if nssv_HAVE_NOEXCEPT -# define nssv_noexcept noexcept -#else -# define nssv_noexcept /*noexcept*/ -#endif - -//#if nssv_HAVE_REF_QUALIFIER -//# define nssv_ref_qual & -//# define nssv_refref_qual && -//#else -//# define nssv_ref_qual /*&*/ -//# define nssv_refref_qual /*&&*/ -//#endif - -#if nssv_HAVE_NULLPTR -# define nssv_nullptr nullptr -#else -# define nssv_nullptr NULL -#endif - -#if nssv_HAVE_NODISCARD -# define nssv_nodiscard [[nodiscard]] -#else -# define nssv_nodiscard /*[[nodiscard]]*/ -#endif - -// Additional includes: +// #include "utils.hpp" +#ifndef INCLUDE_INJA_UTILS_HPP_ +#define INCLUDE_INJA_UTILS_HPP_ #include -#include -#include -#include -#include -#include // std::char_traits<> +#include +#include +#include +#include -#if ! nssv_CONFIG_NO_EXCEPTIONS -# include -#endif +// #include "exceptions.hpp" +#ifndef INCLUDE_INJA_EXCEPTIONS_HPP_ +#define INCLUDE_INJA_EXCEPTIONS_HPP_ -#if nssv_CPP11_OR_GREATER -# include -#endif +#include +#include -// Clang, GNUC, MSVC warning suppression macros: +namespace inja { -#if defined(__clang__) -# pragma clang diagnostic ignored "-Wreserved-user-defined-literal" -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wuser-defined-literals" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wliteral-suffix" -#endif // __clang__ - -#if nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_SUPPRESS_MSGSL_WARNING(expr) [[gsl::suppress(expr)]] -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) __pragma(warning(suppress: code) ) -# define nssv_DISABLE_MSVC_WARNINGS(codes) __pragma(warning(push)) __pragma(warning(disable: codes)) -#else -# define nssv_SUPPRESS_MSGSL_WARNING(expr) -# define nssv_SUPPRESS_MSVC_WARNING(code, descr) -# define nssv_DISABLE_MSVC_WARNINGS(codes) -#endif - -#if defined(__clang__) -# define nssv_RESTORE_WARNINGS() _Pragma("clang diagnostic pop") -#elif defined(__GNUC__) -# define nssv_RESTORE_WARNINGS() _Pragma("GCC diagnostic pop") -#elif nssv_COMPILER_MSVC_VERSION >= 140 -# define nssv_RESTORE_WARNINGS() __pragma(warning(pop )) -#else -# define nssv_RESTORE_WARNINGS() -#endif - -// Suppress the following MSVC (GSL) warnings: -// - C4455, non-gsl : 'operator ""sv': literal suffix identifiers that do not -// start with an underscore are reserved -// - C26472, gsl::t.1 : don't use a static_cast for arithmetic conversions; -// use brace initialization, gsl::narrow_cast or gsl::narow -// - C26481: gsl::b.1 : don't use pointer arithmetic. Use span instead - -nssv_DISABLE_MSVC_WARNINGS( 4455 26481 26472 ) -//nssv_DISABLE_CLANG_WARNINGS( "-Wuser-defined-literals" ) -//nssv_DISABLE_GNUC_WARNINGS( -Wliteral-suffix ) - -namespace nonstd { namespace sv_lite { - -template -< - class CharT, - class Traits = std::char_traits -> -class basic_string_view; - -// -// basic_string_view: -// - -template -< - class CharT, - class Traits /* = std::char_traits */ -> -class basic_string_view -{ -public: - // Member types: - - typedef Traits traits_type; - typedef CharT value_type; - - typedef CharT * pointer; - typedef CharT const * const_pointer; - typedef CharT & reference; - typedef CharT const & const_reference; - - typedef const_pointer iterator; - typedef const_pointer const_iterator; - typedef std::reverse_iterator< const_iterator > reverse_iterator; - typedef std::reverse_iterator< const_iterator > const_reverse_iterator; - - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - // 24.4.2.1 Construction and assignment: - - nssv_constexpr basic_string_view() nssv_noexcept - : data_( nssv_nullptr ) - , size_( 0 ) - {} - -#if nssv_CPP11_OR_GREATER - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept = default; -#else - nssv_constexpr basic_string_view( basic_string_view const & other ) nssv_noexcept - : data_( other.data_) - , size_( other.size_) - {} -#endif - - nssv_constexpr basic_string_view( CharT const * s, size_type count ) - : data_( s ) - , size_( count ) - {} - - nssv_constexpr basic_string_view( CharT const * s) - : data_( s ) - , size_( Traits::length(s) ) - {} - - // Assignment: - -#if nssv_CPP11_OR_GREATER - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept = default; -#else - nssv_constexpr14 basic_string_view & operator=( basic_string_view const & other ) nssv_noexcept - { - data_ = other.data_; - size_ = other.size_; - return *this; - } -#endif - - // 24.4.2.2 Iterator support: - - nssv_constexpr const_iterator begin() const nssv_noexcept { return data_; } - nssv_constexpr const_iterator end() const nssv_noexcept { return data_ + size_; } - - nssv_constexpr const_iterator cbegin() const nssv_noexcept { return begin(); } - nssv_constexpr const_iterator cend() const nssv_noexcept { return end(); } - - nssv_constexpr const_reverse_iterator rbegin() const nssv_noexcept { return const_reverse_iterator( end() ); } - nssv_constexpr const_reverse_iterator rend() const nssv_noexcept { return const_reverse_iterator( begin() ); } - - nssv_constexpr const_reverse_iterator crbegin() const nssv_noexcept { return rbegin(); } - nssv_constexpr const_reverse_iterator crend() const nssv_noexcept { return rend(); } - - // 24.4.2.3 Capacity: - - nssv_constexpr size_type size() const nssv_noexcept { return size_; } - nssv_constexpr size_type length() const nssv_noexcept { return size_; } - nssv_constexpr size_type max_size() const nssv_noexcept { return (std::numeric_limits< size_type >::max)(); } - - // since C++20 - nssv_nodiscard nssv_constexpr bool empty() const nssv_noexcept - { - return 0 == size_; - } - - // 24.4.2.4 Element access: - - nssv_constexpr const_reference operator[]( size_type pos ) const - { - return data_at( pos ); - } - - nssv_constexpr14 const_reference at( size_type pos ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos < size() ); -#else - if ( pos >= size() ) - { - throw std::out_of_range("nonst::string_view::at()"); - } -#endif - return data_at( pos ); - } - - nssv_constexpr const_reference front() const { return data_at( 0 ); } - nssv_constexpr const_reference back() const { return data_at( size() - 1 ); } - - nssv_constexpr const_pointer data() const nssv_noexcept { return data_; } - - // 24.4.2.5 Modifiers: - - nssv_constexpr14 void remove_prefix( size_type n ) - { - assert( n <= size() ); - data_ += n; - size_ -= n; - } - - nssv_constexpr14 void remove_suffix( size_type n ) - { - assert( n <= size() ); - size_ -= n; - } - - nssv_constexpr14 void swap( basic_string_view & other ) nssv_noexcept - { - using std::swap; - swap( data_, other.data_ ); - swap( size_, other.size_ ); - } - - // 24.4.2.6 String operations: - - size_type copy( CharT * dest, size_type n, size_type pos = 0 ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); -#else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::copy()"); - } -#endif - const size_type rlen = (std::min)( n, size() - pos ); - - (void) Traits::copy( dest, data() + pos, rlen ); - - return rlen; - } - - nssv_constexpr14 basic_string_view substr( size_type pos = 0, size_type n = npos ) const - { -#if nssv_CONFIG_NO_EXCEPTIONS - assert( pos <= size() ); -#else - if ( pos > size() ) - { - throw std::out_of_range("nonst::string_view::substr()"); - } -#endif - return basic_string_view( data() + pos, (std::min)( n, size() - pos ) ); - } - - // compare(), 6x: - - nssv_constexpr14 int compare( basic_string_view other ) const nssv_noexcept // (1) - { - if ( const int result = Traits::compare( data(), other.data(), (std::min)( size(), other.size() ) ) ) - return result; - - return size() == other.size() ? 0 : size() < other.size() ? -1 : 1; - } - - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other ) const // (2) - { - return substr( pos1, n1 ).compare( other ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, basic_string_view other, size_type pos2, size_type n2 ) const // (3) - { - return substr( pos1, n1 ).compare( other.substr( pos2, n2 ) ); - } - - nssv_constexpr int compare( CharT const * s ) const // (4) - { - return compare( basic_string_view( s ) ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s ) const // (5) - { - return substr( pos1, n1 ).compare( basic_string_view( s ) ); - } - - nssv_constexpr int compare( size_type pos1, size_type n1, CharT const * s, size_type n2 ) const // (6) - { - return substr( pos1, n1 ).compare( basic_string_view( s, n2 ) ); - } - - // 24.4.2.7 Searching: - - // starts_with(), 3x, since C++20: - - nssv_constexpr bool starts_with( basic_string_view v ) const nssv_noexcept // (1) - { - return size() >= v.size() && compare( 0, v.size(), v ) == 0; - } - - nssv_constexpr bool starts_with( CharT c ) const nssv_noexcept // (2) - { - return starts_with( basic_string_view( &c, 1 ) ); - } - - nssv_constexpr bool starts_with( CharT const * s ) const // (3) - { - return starts_with( basic_string_view( s ) ); - } - - // ends_with(), 3x, since C++20: - - nssv_constexpr bool ends_with( basic_string_view v ) const nssv_noexcept // (1) - { - return size() >= v.size() && compare( size() - v.size(), npos, v ) == 0; - } - - nssv_constexpr bool ends_with( CharT c ) const nssv_noexcept // (2) - { - return ends_with( basic_string_view( &c, 1 ) ); - } - - nssv_constexpr bool ends_with( CharT const * s ) const // (3) - { - return ends_with( basic_string_view( s ) ); - } - - // find(), 4x: - - nssv_constexpr14 size_type find( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return assert( v.size() == 0 || v.data() != nssv_nullptr ) - , pos >= size() - ? npos - : to_pos( std::search( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr14 size_type find( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr14 size_type find( CharT const * s, size_type pos, size_type n ) const // (3) - { - return find( basic_string_view( s, n ), pos ); - } - - nssv_constexpr14 size_type find( CharT const * s, size_type pos = 0 ) const // (4) - { - return find( basic_string_view( s ), pos ); - } - - // rfind(), 4x: - - nssv_constexpr14 size_type rfind( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - if ( size() < v.size() ) - return npos; - - if ( v.empty() ) - return (std::min)( size(), pos ); - - const_iterator last = cbegin() + (std::min)( size() - v.size(), pos ) + v.size(); - const_iterator result = std::find_end( cbegin(), last, v.cbegin(), v.cend(), Traits::eq ); - - return result != last ? size_type( result - cbegin() ) : npos; - } - - nssv_constexpr14 size_type rfind( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return rfind( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos, size_type n ) const // (3) - { - return rfind( basic_string_view( s, n ), pos ); - } - - nssv_constexpr14 size_type rfind( CharT const * s, size_type pos = npos ) const // (4) - { - return rfind( basic_string_view( s ), pos ); - } - - // find_first_of(), 4x: - - nssv_constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return pos >= size() - ? npos - : to_pos( std::find_first_of( cbegin() + pos, cend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr size_type find_first_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find_first_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos, size_type n ) const // (3) - { - return find_first_of( basic_string_view( s, n ), pos ); - } - - nssv_constexpr size_type find_first_of( CharT const * s, size_type pos = 0 ) const // (4) - { - return find_first_of( basic_string_view( s ), pos ); - } - - // find_last_of(), 4x: - - nssv_constexpr size_type find_last_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - return empty() - ? npos - : pos >= size() - ? find_last_of( v, size() - 1 ) - : to_pos( std::find_first_of( const_reverse_iterator( cbegin() + pos + 1 ), crend(), v.cbegin(), v.cend(), Traits::eq ) ); - } - - nssv_constexpr size_type find_last_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return find_last_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_last_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_last_of( CharT const * s, size_type pos = npos ) const // (4) - { - return find_last_of( basic_string_view( s ), pos ); - } - - // find_first_not_of(), 4x: - - nssv_constexpr size_type find_first_not_of( basic_string_view v, size_type pos = 0 ) const nssv_noexcept // (1) - { - return pos >= size() - ? npos - : to_pos( std::find_if( cbegin() + pos, cend(), not_in_view( v ) ) ); - } - - nssv_constexpr size_type find_first_not_of( CharT c, size_type pos = 0 ) const nssv_noexcept // (2) - { - return find_first_not_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_first_not_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_first_not_of( CharT const * s, size_type pos = 0 ) const // (4) - { - return find_first_not_of( basic_string_view( s ), pos ); - } - - // find_last_not_of(), 4x: - - nssv_constexpr size_type find_last_not_of( basic_string_view v, size_type pos = npos ) const nssv_noexcept // (1) - { - return empty() - ? npos - : pos >= size() - ? find_last_not_of( v, size() - 1 ) - : to_pos( std::find_if( const_reverse_iterator( cbegin() + pos + 1 ), crend(), not_in_view( v ) ) ); - } - - nssv_constexpr size_type find_last_not_of( CharT c, size_type pos = npos ) const nssv_noexcept // (2) - { - return find_last_not_of( basic_string_view( &c, 1 ), pos ); - } - - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos, size_type count ) const // (3) - { - return find_last_not_of( basic_string_view( s, count ), pos ); - } - - nssv_constexpr size_type find_last_not_of( CharT const * s, size_type pos = npos ) const // (4) - { - return find_last_not_of( basic_string_view( s ), pos ); - } - - // Constants: - -#if nssv_CPP17_OR_GREATER - static nssv_constexpr size_type npos = size_type(-1); -#elif nssv_CPP11_OR_GREATER - enum : size_type { npos = size_type(-1) }; -#else - enum { npos = size_type(-1) }; -#endif - -private: - struct not_in_view - { - const basic_string_view v; - - nssv_constexpr not_in_view( basic_string_view v ) : v( v ) {} - - nssv_constexpr bool operator()( CharT c ) const - { - return npos == v.find_first_of( c ); - } - }; - - nssv_constexpr size_type to_pos( const_iterator it ) const - { - return it == cend() ? npos : size_type( it - cbegin() ); - } - - nssv_constexpr size_type to_pos( const_reverse_iterator it ) const - { - return it == crend() ? npos : size_type( crend() - it - 1 ); - } - - nssv_constexpr const_reference data_at( size_type pos ) const - { -#if nssv_BETWEEN( nssv_COMPILER_GNUC_VERSION, 1, 500 ) - return data_[pos]; -#else - return assert( pos < size() ), data_[pos]; -#endif - } - -private: - const_pointer data_; - size_type size_; - -public: -#if nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS - - template< class Allocator > - basic_string_view( std::basic_string const & s ) nssv_noexcept - : data_( s.data() ) - , size_( s.size() ) - {} - -#if nssv_HAVE_EXPLICIT_CONVERSION - - template< class Allocator > - explicit operator std::basic_string() const - { - return to_string( Allocator() ); - } - -#endif // nssv_HAVE_EXPLICIT_CONVERSION - -#if nssv_CPP11_OR_GREATER - - template< class Allocator = std::allocator > - std::basic_string - to_string( Allocator const & a = Allocator() ) const - { - return std::basic_string( begin(), end(), a ); - } - -#else - - std::basic_string - to_string() const - { - return std::basic_string( begin(), end() ); - } - - template< class Allocator > - std::basic_string - to_string( Allocator const & a ) const - { - return std::basic_string( begin(), end(), a ); - } - -#endif // nssv_CPP11_OR_GREATER - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS +struct SourceLocation { + size_t line; + size_t column; }; -// -// Non-member functions: -// +struct InjaError : public std::runtime_error { + const std::string type; + const std::string message; -// 24.4.3 Non-member comparison functions: -// lexicographically compare two string views (function template): + const SourceLocation location; -template< class CharT, class Traits > -nssv_constexpr bool operator== ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0 ; } + explicit InjaError(const std::string& type, const std::string& message) + : std::runtime_error("[inja.exception." + type + "] " + message), type(type), message(message), location({0, 0}) {} -template< class CharT, class Traits > -nssv_constexpr bool operator!= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator< ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator<= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator> ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -template< class CharT, class Traits > -nssv_constexpr bool operator>= ( - basic_string_view lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -// Let S be basic_string_view, and sv be an instance of S. -// Implementations shall provide sufficient additional overloads marked -// constexpr and noexcept so that an object t with an implicit conversion -// to S can be compared according to Table 67. - -#if nssv_CPP11_OR_GREATER && ! nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 100, 141 ) - -#define nssv_BASIC_STRING_VIEW_I(T,U) typename std::decay< basic_string_view >::type - -#if nssv_BETWEEN( nssv_COMPILER_MSVC_VERSION, 140, 150 ) -# define nssv_MSVC_ORDER(x) , int=x -#else -# define nssv_MSVC_ORDER(x) /*, int=x*/ -#endif - -// == - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator==( - basic_string_view lhs, - nssv_BASIC_STRING_VIEW_I(CharT, Traits) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) == 0; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator==( - nssv_BASIC_STRING_VIEW_I(CharT, Traits) lhs, - basic_string_view rhs ) nssv_noexcept -{ return lhs.size() == rhs.size() && lhs.compare( rhs ) == 0; } - -// != - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator!= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.size() != rhs.size() || lhs.compare( rhs ) != 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator!= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) != 0 ; } - -// < - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator< ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator< ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) < 0 ; } - -// <= - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator<= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator<= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) <= 0 ; } - -// > - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator> ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator> ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) > 0 ; } - -// >= - -template< class CharT, class Traits nssv_MSVC_ORDER(1) > -nssv_constexpr bool operator>= ( - basic_string_view < CharT, Traits > lhs, - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -template< class CharT, class Traits nssv_MSVC_ORDER(2) > -nssv_constexpr bool operator>= ( - nssv_BASIC_STRING_VIEW_I( CharT, Traits ) lhs, - basic_string_view < CharT, Traits > rhs ) nssv_noexcept -{ return lhs.compare( rhs ) >= 0 ; } - -#undef nssv_MSVC_ORDER -#undef nssv_BASIC_STRING_VIEW_I - -#endif // nssv_CPP11_OR_GREATER - -// 24.4.4 Inserters and extractors: - -namespace detail { - -template< class Stream > -void write_padding( Stream & os, std::streamsize n ) -{ - for ( std::streamsize i = 0; i < n; ++i ) - os.rdbuf()->sputc( os.fill() ); -} - -template< class Stream, class View > -Stream & write_to_stream( Stream & os, View const & sv ) -{ - typename Stream::sentry sentry( os ); - - if ( !os ) - return os; - - const std::streamsize length = static_cast( sv.length() ); - - // Whether, and how, to pad: - const bool pad = ( length < os.width() ); - const bool left_pad = pad && ( os.flags() & std::ios_base::adjustfield ) == std::ios_base::right; - - if ( left_pad ) - write_padding( os, os.width() - length ); - - // Write span characters: - os.rdbuf()->sputn( sv.begin(), length ); - - if ( pad && !left_pad ) - write_padding( os, os.width() - length ); - - // Reset output stream width: - os.width( 0 ); - - return os; -} - -} // namespace detail - -template< class CharT, class Traits > -std::basic_ostream & -operator<<( - std::basic_ostream& os, - basic_string_view sv ) -{ - return detail::write_to_stream( os, sv ); -} - -// Several typedefs for common character types are provided: - -typedef basic_string_view string_view; -typedef basic_string_view wstring_view; -#if nssv_HAVE_WCHAR16_T -typedef basic_string_view u16string_view; -typedef basic_string_view u32string_view; -#endif - -}} // namespace nonstd::sv_lite - -// -// 24.4.6 Suffix for basic_string_view literals: -// - -#if nssv_HAVE_USER_DEFINED_LITERALS - -namespace nonstd { -nssv_inline_ns namespace literals { -nssv_inline_ns namespace string_view_literals { - -#if nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS - -nssv_constexpr nonstd::sv_lite::string_view operator "" sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u16string_view operator "" sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u32string_view operator "" sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::wstring_view operator "" sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} - -#endif // nssv_CONFIG_STD_SV_OPERATOR && nssv_HAVE_STD_DEFINED_LITERALS - -#if nssv_CONFIG_USR_SV_OPERATOR - -nssv_constexpr nonstd::sv_lite::string_view operator "" _sv( const char* str, size_t len ) nssv_noexcept // (1) -{ - return nonstd::sv_lite::string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u16string_view operator "" _sv( const char16_t* str, size_t len ) nssv_noexcept // (2) -{ - return nonstd::sv_lite::u16string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::u32string_view operator "" _sv( const char32_t* str, size_t len ) nssv_noexcept // (3) -{ - return nonstd::sv_lite::u32string_view{ str, len }; -} - -nssv_constexpr nonstd::sv_lite::wstring_view operator "" _sv( const wchar_t* str, size_t len ) nssv_noexcept // (4) -{ - return nonstd::sv_lite::wstring_view{ str, len }; -} - -#endif // nssv_CONFIG_USR_SV_OPERATOR - -}}} // namespace nonstd::literals::string_view_literals - -#endif - -// -// Extensions for std::string: -// - -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -namespace nonstd { -namespace sv_lite { - -// Exclude MSVC 14 (19.00): it yields ambiguous to_string(): - -#if nssv_CPP11_OR_GREATER && nssv_COMPILER_MSVC_VERSION != 140 - -template< class CharT, class Traits, class Allocator = std::allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a = Allocator() ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} - -#else - -template< class CharT, class Traits > -std::basic_string -to_string( basic_string_view v ) -{ - return std::basic_string( v.begin(), v.end() ); -} - -template< class CharT, class Traits, class Allocator > -std::basic_string -to_string( basic_string_view v, Allocator const & a ) -{ - return std::basic_string( v.begin(), v.end(), a ); -} - -#endif // nssv_CPP11_OR_GREATER - -template< class CharT, class Traits, class Allocator > -basic_string_view -to_string_view( std::basic_string const & s ) -{ - return basic_string_view( s.data(), s.size() ); -} - -}} // namespace nonstd::sv_lite - -#endif // nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS - -// -// make types and algorithms available in namespace nonstd: -// - -namespace nonstd { - -using sv_lite::basic_string_view; -using sv_lite::string_view; -using sv_lite::wstring_view; - -#if nssv_HAVE_WCHAR16_T -using sv_lite::u16string_view; -#endif -#if nssv_HAVE_WCHAR32_T -using sv_lite::u32string_view; -#endif - -// literal "sv" - -using sv_lite::operator==; -using sv_lite::operator!=; -using sv_lite::operator<; -using sv_lite::operator<=; -using sv_lite::operator>; -using sv_lite::operator>=; - -using sv_lite::operator<<; - -#if nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS -using sv_lite::to_string; -using sv_lite::to_string_view; -#endif - -} // namespace nonstd - -// 24.4.5 Hash support (C++11): - -// Note: The hash value of a string view object is equal to the hash value of -// the corresponding string object. - -#if nssv_HAVE_STD_HASH - -#include - -namespace std { - -template<> -struct hash< nonstd::string_view > -{ -public: - std::size_t operator()( nonstd::string_view v ) const nssv_noexcept - { - return std::hash()( std::string( v.data(), v.size() ) ); - } + explicit InjaError(const std::string& type, const std::string& message, SourceLocation location) + : std::runtime_error("[inja.exception." + type + "] (at " + std::to_string(location.line) + ":" + std::to_string(location.column) + ") " + message), + type(type), message(message), location(location) {} }; -template<> -struct hash< nonstd::wstring_view > -{ -public: - std::size_t operator()( nonstd::wstring_view v ) const nssv_noexcept - { - return std::hash()( std::wstring( v.data(), v.size() ) ); - } +struct ParserError : public InjaError { + explicit ParserError(const std::string& message, SourceLocation location): InjaError("parser_error", message, location) {} }; -template<> -struct hash< nonstd::u16string_view > -{ -public: - std::size_t operator()( nonstd::u16string_view v ) const nssv_noexcept - { - return std::hash()( std::u16string( v.data(), v.size() ) ); - } +struct RenderError : public InjaError { + explicit RenderError(const std::string& message, SourceLocation location): InjaError("render_error", message, location) {} }; -template<> -struct hash< nonstd::u32string_view > -{ -public: - std::size_t operator()( nonstd::u32string_view v ) const nssv_noexcept - { - return std::hash()( std::u32string( v.data(), v.size() ) ); - } +struct FileError : public InjaError { + explicit FileError(const std::string& message): InjaError("file_error", message) {} + explicit FileError(const std::string& message, SourceLocation location): InjaError("file_error", message, location) {} }; -} // namespace std +struct DataError : public InjaError { + explicit DataError(const std::string& message, SourceLocation location): InjaError("data_error", message, location) {} +}; -#endif // nssv_HAVE_STD_HASH - -nssv_RESTORE_WARNINGS() - -#endif // nssv_HAVE_STD_STRING_VIEW -#endif // NONSTD_SV_LITE_H_INCLUDED +} // namespace inja +#endif // INCLUDE_INJA_EXCEPTIONS_HPP_ namespace inja { -enum class ElementNotation { - Dot, - Pointer +namespace string_view { +inline std::string_view slice(std::string_view view, size_t start, size_t end) { + start = std::min(start, view.size()); + end = std::min(std::max(start, end), view.size()); + return view.substr(start, end - start); +} + +inline std::pair split(std::string_view view, char Separator) { + size_t idx = view.find(Separator); + if (idx == std::string_view::npos) { + return std::make_pair(view, std::string_view()); + } + return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, std::string_view::npos)); +} + +inline bool starts_with(std::string_view view, std::string_view prefix) { + return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); +} +} // namespace string_view + +inline SourceLocation get_source_location(std::string_view content, size_t pos) { + // Get line and offset position (starts at 1:1) + auto sliced = string_view::slice(content, 0, pos); + std::size_t last_newline = sliced.rfind("\n"); + + if (last_newline == std::string_view::npos) { + return {1, sliced.length() + 1}; + } + + // Count newlines + size_t count_lines = 0; + size_t search_start = 0; + while (search_start <= sliced.size()) { + search_start = sliced.find("\n", search_start) + 1; + if (search_start == 0) { + break; + } + count_lines += 1; + } + + return {count_lines + 1, sliced.length() - last_newline}; +} + +inline void replace_substring(std::string& s, const std::string& f, const std::string& t) { + if (f.empty()) { + return; + } + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +} // namespace inja + +#endif // INCLUDE_INJA_UTILS_HPP_ + + +namespace inja { + +class NodeVisitor; +class BlockNode; +class TextNode; +class ExpressionNode; +class LiteralNode; +class DataNode; +class FunctionNode; +class ExpressionListNode; +class StatementNode; +class ForStatementNode; +class ForArrayStatementNode; +class ForObjectStatementNode; +class IfStatementNode; +class IncludeStatementNode; +class ExtendsStatementNode; +class BlockStatementNode; +class SetStatementNode; + +class NodeVisitor { +public: + virtual ~NodeVisitor() = default; + + virtual void visit(const BlockNode& node) = 0; + virtual void visit(const TextNode& node) = 0; + virtual void visit(const ExpressionNode& node) = 0; + virtual void visit(const LiteralNode& node) = 0; + virtual void visit(const DataNode& node) = 0; + virtual void visit(const FunctionNode& node) = 0; + virtual void visit(const ExpressionListNode& node) = 0; + virtual void visit(const StatementNode& node) = 0; + virtual void visit(const ForStatementNode& node) = 0; + virtual void visit(const ForArrayStatementNode& node) = 0; + virtual void visit(const ForObjectStatementNode& node) = 0; + virtual void visit(const IfStatementNode& node) = 0; + virtual void visit(const IncludeStatementNode& node) = 0; + virtual void visit(const ExtendsStatementNode& node) = 0; + virtual void visit(const BlockStatementNode& node) = 0; + virtual void visit(const SetStatementNode& node) = 0; }; +/*! + * \brief Base node class for the abstract syntax tree (AST). + */ +class AstNode { +public: + virtual void accept(NodeVisitor& v) const = 0; + + size_t pos; + + AstNode(size_t pos): pos(pos) {} + virtual ~AstNode() {} +}; + +class BlockNode : public AstNode { +public: + std::vector> nodes; + + explicit BlockNode(): AstNode(0) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class TextNode : public AstNode { +public: + const size_t length; + + explicit TextNode(size_t pos, size_t length): AstNode(pos), length(length) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionNode : public AstNode { +public: + explicit ExpressionNode(size_t pos): AstNode(pos) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class LiteralNode : public ExpressionNode { +public: + const json value; + + explicit LiteralNode(std::string_view data_text, size_t pos): ExpressionNode(pos), value(json::parse(data_text)) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class DataNode : public ExpressionNode { +public: + const std::string name; + const json::json_pointer ptr; + + static std::string convert_dot_to_ptr(std::string_view ptr_name) { + std::string result; + do { + std::string_view part; + std::tie(part, ptr_name) = string_view::split(ptr_name, '.'); + result.push_back('/'); + result.append(part.begin(), part.end()); + } while (!ptr_name.empty()); + return result; + } + + explicit DataNode(std::string_view ptr_name, size_t pos): ExpressionNode(pos), name(ptr_name), ptr(json::json_pointer(convert_dot_to_ptr(ptr_name))) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class FunctionNode : public ExpressionNode { + using Op = FunctionStorage::Operation; + +public: + enum class Associativity { + Left, + Right, + }; + + unsigned int precedence; + Associativity associativity; + + Op operation; + + std::string name; + int number_args; // Should also be negative -> -1 for unknown number + std::vector> arguments; + CallbackFunction callback; + + explicit FunctionNode(std::string_view name, size_t pos) + : ExpressionNode(pos), precedence(8), associativity(Associativity::Left), operation(Op::Callback), name(name), number_args(1) {} + explicit FunctionNode(Op operation, size_t pos): ExpressionNode(pos), operation(operation), number_args(1) { + switch (operation) { + case Op::Not: { + number_args = 1; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::And: { + number_args = 2; + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::Or: { + number_args = 2; + precedence = 1; + associativity = Associativity::Left; + } break; + case Op::In: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Equal: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::NotEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Greater: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::GreaterEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Less: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::LessEqual: { + number_args = 2; + precedence = 2; + associativity = Associativity::Left; + } break; + case Op::Add: { + number_args = 2; + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Subtract: { + number_args = 2; + precedence = 3; + associativity = Associativity::Left; + } break; + case Op::Multiplication: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Division: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::Power: { + number_args = 2; + precedence = 5; + associativity = Associativity::Right; + } break; + case Op::Modulo: { + number_args = 2; + precedence = 4; + associativity = Associativity::Left; + } break; + case Op::AtId: { + number_args = 2; + precedence = 8; + associativity = Associativity::Left; + } break; + default: { + precedence = 1; + associativity = Associativity::Left; + } + } + } + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExpressionListNode : public AstNode { +public: + std::shared_ptr root; + + explicit ExpressionListNode(): AstNode(0) {} + explicit ExpressionListNode(size_t pos): AstNode(pos) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class StatementNode : public AstNode { +public: + StatementNode(size_t pos): AstNode(pos) {} + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode body; + BlockNode* const parent; + + ForStatementNode(BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent) {} + + virtual void accept(NodeVisitor& v) const = 0; +}; + +class ForArrayStatementNode : public ForStatementNode { +public: + const std::string value; + + explicit ForArrayStatementNode(const std::string& value, BlockNode* const parent, size_t pos): ForStatementNode(parent, pos), value(value) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ForObjectStatementNode : public ForStatementNode { +public: + const std::string key; + const std::string value; + + explicit ForObjectStatementNode(const std::string& key, const std::string& value, BlockNode* const parent, size_t pos) + : ForStatementNode(parent, pos), key(key), value(value) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IfStatementNode : public StatementNode { +public: + ExpressionListNode condition; + BlockNode true_statement; + BlockNode false_statement; + BlockNode* const parent; + + const bool is_nested; + bool has_false_statement {false}; + + explicit IfStatementNode(BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent), is_nested(false) {} + explicit IfStatementNode(bool is_nested, BlockNode* const parent, size_t pos): StatementNode(pos), parent(parent), is_nested(is_nested) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class IncludeStatementNode : public StatementNode { +public: + const std::string file; + + explicit IncludeStatementNode(const std::string& file, size_t pos): StatementNode(pos), file(file) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +class ExtendsStatementNode : public StatementNode { +public: + const std::string file; + + explicit ExtendsStatementNode(const std::string& file, size_t pos): StatementNode(pos), file(file) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +class BlockStatementNode : public StatementNode { +public: + const std::string name; + BlockNode block; + BlockNode* const parent; + + explicit BlockStatementNode(BlockNode* const parent, const std::string& name, size_t pos): StatementNode(pos), name(name), parent(parent) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + }; +}; + +class SetStatementNode : public StatementNode { +public: + const std::string key; + ExpressionListNode expression; + + explicit SetStatementNode(const std::string& key, size_t pos): StatementNode(pos), key(key) {} + + void accept(NodeVisitor& v) const { + v.visit(*this); + } +}; + +} // namespace inja + +#endif // INCLUDE_INJA_NODE_HPP_ + +// #include "statistics.hpp" +#ifndef INCLUDE_INJA_STATISTICS_HPP_ +#define INCLUDE_INJA_STATISTICS_HPP_ + +// #include "node.hpp" + + +namespace inja { + +/*! + * \brief A class for counting statistics on a Template. + */ +class StatisticsVisitor : public NodeVisitor { + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + } + } + + void visit(const TextNode&) {} + void visit(const ExpressionNode&) {} + void visit(const LiteralNode&) {} + + void visit(const DataNode&) { + variable_counter += 1; + } + + void visit(const FunctionNode& node) { + for (auto& n : node.arguments) { + n->accept(*this); + } + } + + void visit(const ExpressionListNode& node) { + node.root->accept(*this); + } + + void visit(const StatementNode&) {} + void visit(const ForStatementNode&) {} + + void visit(const ForArrayStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const ForObjectStatementNode& node) { + node.condition.accept(*this); + node.body.accept(*this); + } + + void visit(const IfStatementNode& node) { + node.condition.accept(*this); + node.true_statement.accept(*this); + node.false_statement.accept(*this); + } + + void visit(const IncludeStatementNode&) {} + + void visit(const ExtendsStatementNode&) {} + + void visit(const BlockStatementNode& node) { + node.block.accept(*this); + } + + void visit(const SetStatementNode&) {} + +public: + unsigned int variable_counter; + + explicit StatisticsVisitor(): variable_counter(0) {} +}; + +} // namespace inja + +#endif // INCLUDE_INJA_STATISTICS_HPP_ + + +namespace inja { + +/*! + * \brief The main inja Template. + */ +struct Template { + BlockNode root; + std::string content; + std::map> block_storage; + + explicit Template() {} + explicit Template(const std::string& content): content(content) {} + + /// Return number of variables (total number, not distinct ones) in the template + int count_variables() { + auto statistic_visitor = StatisticsVisitor(); + root.accept(statistic_visitor); + return statistic_visitor.variable_counter; + } +}; + +using TemplateStorage = std::map; + +} // namespace inja + +#endif // INCLUDE_INJA_TEMPLATE_HPP_ + + +namespace inja { + /*! * \brief Class for lexer configuration. */ struct LexerConfig { std::string statement_open {"{%"}; + std::string statement_open_no_lstrip {"{%+"}; + std::string statement_open_force_lstrip {"{%-"}; std::string statement_close {"%}"}; + std::string statement_close_force_rstrip {"-%}"}; std::string line_statement {"##"}; std::string expression_open {"{{"}; + std::string expression_open_force_lstrip {"{{-"}; std::string expression_close {"}}"}; + std::string expression_close_force_rstrip {"-}}"}; std::string comment_open {"{#"}; + std::string comment_open_force_lstrip {"{#-"}; std::string comment_close {"#}"}; + std::string comment_close_force_rstrip {"-#}"}; std::string open_chars {"#{"}; bool trim_blocks {false}; @@ -1435,12 +849,24 @@ struct LexerConfig { if (open_chars.find(statement_open[0]) == std::string::npos) { open_chars += statement_open[0]; } + if (open_chars.find(statement_open_no_lstrip[0]) == std::string::npos) { + open_chars += statement_open_no_lstrip[0]; + } + if (open_chars.find(statement_open_force_lstrip[0]) == std::string::npos) { + open_chars += statement_open_force_lstrip[0]; + } if (open_chars.find(expression_open[0]) == std::string::npos) { open_chars += expression_open[0]; } + if (open_chars.find(expression_open_force_lstrip[0]) == std::string::npos) { + open_chars += expression_open_force_lstrip[0]; + } if (open_chars.find(comment_open[0]) == std::string::npos) { open_chars += comment_open[0]; } + if (open_chars.find(comment_open_force_lstrip[0]) == std::string::npos) { + open_chars += comment_open_force_lstrip[0]; + } } }; @@ -1448,245 +874,43 @@ struct LexerConfig { * \brief Class for parser configuration. */ struct ParserConfig { - ElementNotation notation {ElementNotation::Dot}; + bool search_included_templates_in_files {true}; + + std::function include_callback; }; -} - -#endif // PANTOR_INJA_CONFIG_HPP - -// #include "function_storage.hpp" -#ifndef PANTOR_INJA_FUNCTION_STORAGE_HPP -#define PANTOR_INJA_FUNCTION_STORAGE_HPP - -#include - -// #include "bytecode.hpp" -#ifndef PANTOR_INJA_BYTECODE_HPP -#define PANTOR_INJA_BYTECODE_HPP - -#include -#include - -#include - -// #include "string_view.hpp" - - - -namespace inja { - -using json = nlohmann::json; - - -struct Bytecode { - enum class Op : uint8_t { - Nop, - // print StringRef (always immediate) - PrintText, - // print value - PrintValue, - // push value onto stack (always immediate) - Push, - - // builtin functions - // result is pushed to stack - // args specify number of arguments - // all functions can take their "last" argument either immediate - // or popped off stack (e.g. if immediate, it's like the immediate was - // just pushed to the stack) - Not, - And, - Or, - In, - Equal, - Greater, - GreaterEqual, - Less, - LessEqual, - At, - Different, - DivisibleBy, - Even, - First, - Float, - Int, - Last, - Length, - Lower, - Max, - Min, - Odd, - Range, - Result, - Round, - Sort, - Upper, - Exists, - ExistsInObject, - IsBoolean, - IsNumber, - IsInteger, - IsFloat, - IsObject, - IsArray, - IsString, - Default, - - // include another template - // value is the template name - Include, - - // callback function - // str is the function name (this means it cannot be a lookup) - // args specify number of arguments - // as with builtin functions, "last" argument can be immediate - Callback, - - // unconditional jump - // args is the index of the bytecode to jump to. - Jump, - - // conditional jump - // value popped off stack is checked for truthyness - // if false, args is the index of the bytecode to jump to. - // if true, no action is taken (falls through) - ConditionalJump, - - // start loop - // value popped off stack is what is iterated over - // args is index of bytecode after end loop (jumped to if iterable is - // empty) - // immediate value is key name (for maps) - // str is value name - StartLoop, - - // end a loop - // args is index of the first bytecode in the loop body - EndLoop, - }; - - enum Flag { - // location of value for value-taking ops (mask) - ValueMask = 0x03, - // pop value off stack - ValuePop = 0x00, - // value is immediate rather than on stack - ValueImmediate = 0x01, - // lookup immediate str (dot notation) - ValueLookupDot = 0x02, - // lookup immediate str (json pointer notation) - ValueLookupPointer = 0x03, - }; - - Op op {Op::Nop}; - uint32_t args: 30; - uint32_t flags: 2; - - json value; - std::string str; - - Bytecode(): args(0), flags(0) {} - explicit Bytecode(Op op, unsigned int args = 0): op(op), args(args), flags(0) {} - explicit Bytecode(Op op, nonstd::string_view str, unsigned int flags): op(op), args(0), flags(flags), str(str) {} - explicit Bytecode(Op op, json&& value, unsigned int flags): op(op), args(0), flags(flags), value(std::move(value)) {} -}; - -} // namespace inja - -#endif // PANTOR_INJA_BYTECODE_HPP - -// #include "string_view.hpp" - - - -namespace inja { - -using namespace nlohmann; - -using Arguments = std::vector; -using CallbackFunction = std::function; - /*! - * \brief Class for builtin functions and user-defined callbacks. + * \brief Class for render configuration. */ -class FunctionStorage { - public: - void add_builtin(nonstd::string_view name, unsigned int num_args, Bytecode::Op op) { - auto& data = get_or_new(name, num_args); - data.op = op; - } - - void add_callback(nonstd::string_view name, unsigned int num_args, const CallbackFunction& function) { - auto& data = get_or_new(name, num_args); - data.function = function; - } - - Bytecode::Op find_builtin(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->op; - } - return Bytecode::Op::Nop; - } - - CallbackFunction find_callback(nonstd::string_view name, unsigned int num_args) const { - if (auto ptr = get(name, num_args)) { - return ptr->function; - } - return nullptr; - } - - private: - struct FunctionData { - unsigned int num_args {0}; - Bytecode::Op op {Bytecode::Op::Nop}; // for builtins - CallbackFunction function; // for callbacks - }; - - FunctionData& get_or_new(nonstd::string_view name, unsigned int num_args) { - auto &vec = m_map[static_cast(name)]; - for (auto &i: vec) { - if (i.num_args == num_args) return i; - } - vec.emplace_back(); - vec.back().num_args = num_args; - return vec.back(); - } - - const FunctionData* get(nonstd::string_view name, unsigned int num_args) const { - auto it = m_map.find(static_cast(name)); - if (it == m_map.end()) return nullptr; - for (auto &&i: it->second) { - if (i.num_args == num_args) return &i; - } - return nullptr; - } - - std::map> m_map; +struct RenderConfig { + bool throw_at_missing_includes {true}; }; -} +} // namespace inja -#endif // PANTOR_INJA_FUNCTION_STORAGE_HPP +#endif // INCLUDE_INJA_CONFIG_HPP_ + +// #include "function_storage.hpp" // #include "parser.hpp" -#ifndef PANTOR_INJA_PARSER_HPP -#define PANTOR_INJA_PARSER_HPP +#ifndef INCLUDE_INJA_PARSER_HPP_ +#define INCLUDE_INJA_PARSER_HPP_ #include +#include #include #include #include -// #include "bytecode.hpp" - // #include "config.hpp" +// #include "exceptions.hpp" + // #include "function_storage.hpp" // #include "lexer.hpp" -#ifndef PANTOR_INJA_LEXER_HPP -#define PANTOR_INJA_LEXER_HPP +#ifndef INCLUDE_INJA_LEXER_HPP_ +#define INCLUDE_INJA_LEXER_HPP_ #include #include @@ -1694,130 +918,81 @@ class FunctionStorage { // #include "config.hpp" // #include "token.hpp" -#ifndef PANTOR_INJA_TOKEN_HPP -#define PANTOR_INJA_TOKEN_HPP +#ifndef INCLUDE_INJA_TOKEN_HPP_ +#define INCLUDE_INJA_TOKEN_HPP_ #include - -// #include "string_view.hpp" - - +#include namespace inja { /*! - * \brief Helper-class for the inja Parser. + * \brief Helper-class for the inja Lexer. */ struct Token { enum class Kind { Text, - ExpressionOpen, // {{ - ExpressionClose, // }} - LineStatementOpen, // ## - LineStatementClose, // \n - StatementOpen, // {% - StatementClose, // %} - CommentOpen, // {# - CommentClose, // #} - Id, // this, this.foo - Number, // 1, 2, -1, 5.2, -5.3 - String, // "this" - Comma, // , - Colon, // : - LeftParen, // ( - RightParen, // ) - LeftBracket, // [ - RightBracket, // ] - LeftBrace, // { - RightBrace, // } - Equal, // == - GreaterThan, // > - GreaterEqual, // >= - LessThan, // < - LessEqual, // <= - NotEqual, // != + ExpressionOpen, // {{ + ExpressionClose, // }} + LineStatementOpen, // ## + LineStatementClose, // \n + StatementOpen, // {% + StatementClose, // %} + CommentOpen, // {# + CommentClose, // #} + Id, // this, this.foo + Number, // 1, 2, -1, 5.2, -5.3 + String, // "this" + Plus, // + + Minus, // - + Times, // * + Slash, // / + Percent, // % + Power, // ^ + Comma, // , + Dot, // . + Colon, // : + LeftParen, // ( + RightParen, // ) + LeftBracket, // [ + RightBracket, // ] + LeftBrace, // { + RightBrace, // } + Equal, // == + NotEqual, // != + GreaterThan, // > + GreaterEqual, // >= + LessThan, // < + LessEqual, // <= Unknown, - Eof - } kind {Kind::Unknown}; + Eof, + }; - nonstd::string_view text; + Kind kind {Kind::Unknown}; + std::string_view text; - constexpr Token() = default; - constexpr Token(Kind kind, nonstd::string_view text): kind(kind), text(text) {} + explicit constexpr Token() = default; + explicit constexpr Token(Kind kind, std::string_view text): kind(kind), text(text) {} std::string describe() const { switch (kind) { - case Kind::Text: - return ""; - case Kind::LineStatementClose: - return ""; - case Kind::Eof: - return ""; - default: - return static_cast(text); + case Kind::Text: + return ""; + case Kind::LineStatementClose: + return ""; + case Kind::Eof: + return ""; + default: + return static_cast(text); } } }; -} +} // namespace inja -#endif // PANTOR_INJA_TOKEN_HPP +#endif // INCLUDE_INJA_TOKEN_HPP_ // #include "utils.hpp" -#ifndef PANTOR_INJA_UTILS_HPP -#define PANTOR_INJA_UTILS_HPP - -#include -#include -#include -#include -#include - -// #include "string_view.hpp" - - - -namespace inja { - -inline void inja_throw(const std::string& type, const std::string& message) { - throw std::runtime_error("[inja.exception." + type + "] " + message); -} - -inline std::ifstream open_file_or_throw(const std::string& path) { - std::ifstream file; - file.exceptions(std::ifstream::failbit | std::ifstream::badbit); - try { - file.open(path); - } catch(const std::ios_base::failure& e) { - inja_throw("file_error", "failed accessing file at '" + path + "'"); - } - return file; -} - -namespace string_view { - inline nonstd::string_view slice(nonstd::string_view view, size_t start, size_t end) { - start = std::min(start, view.size()); - end = std::min(std::max(start, end), view.size()); - return view.substr(start, end - start); // StringRef(Data + Start, End - Start); - } - - inline std::pair split(nonstd::string_view view, char Separator) { - size_t idx = view.find(Separator); - if (idx == nonstd::string_view::npos) { - return std::make_pair(view, nonstd::string_view()); - } - return std::make_pair(slice(view, 0, idx), slice(view, idx + 1, nonstd::string_view::npos)); - } - - inline bool starts_with(nonstd::string_view view, nonstd::string_view prefix) { - return (view.size() >= prefix.size() && view.compare(0, prefix.size(), prefix) == 0); - } -} // namespace string - -} // namespace inja - -#endif // PANTOR_INJA_UTILS_HPP - namespace inja { @@ -1829,236 +1004,190 @@ class Lexer { enum class State { Text, ExpressionStart, + ExpressionStartForceLstrip, ExpressionBody, LineStart, LineBody, StatementStart, + StatementStartNoLstrip, + StatementStartForceLstrip, StatementBody, CommentStart, - CommentBody - } m_state; + CommentStartForceLstrip, + CommentBody, + }; - const LexerConfig& m_config; - nonstd::string_view m_in; - size_t m_tok_start; - size_t m_pos; + enum class MinusState { + Operator, + Number, + }; - public: - explicit Lexer(const LexerConfig& config) : m_config(config) {} + const LexerConfig& config; - void start(nonstd::string_view in) { - m_in = in; - m_tok_start = 0; - m_pos = 0; - m_state = State::Text; - } + State state; + MinusState minus_state; + std::string_view m_in; + size_t tok_start; + size_t pos; - Token scan() { - m_tok_start = m_pos; - - again: - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - - switch (m_state) { - default: - case State::Text: { - // fast-scan to first open character - size_t open_start = m_in.substr(m_pos).find_first_of(m_config.open_chars); - if (open_start == nonstd::string_view::npos) { - // didn't find open, return remaining text as text token - m_pos = m_in.size(); - return make_token(Token::Kind::Text); - } - m_pos += open_start; - - // try to match one of the opening sequences, and get the close - nonstd::string_view open_str = m_in.substr(m_pos); - bool must_lstrip = false; - if (inja::string_view::starts_with(open_str, m_config.expression_open)) { - m_state = State::ExpressionStart; - } else if (inja::string_view::starts_with(open_str, m_config.statement_open)) { - m_state = State::StatementStart; - must_lstrip = m_config.lstrip_blocks; - } else if (inja::string_view::starts_with(open_str, m_config.comment_open)) { - m_state = State::CommentStart; - must_lstrip = m_config.lstrip_blocks; - } else if ((m_pos == 0 || m_in[m_pos - 1] == '\n') && - inja::string_view::starts_with(open_str, m_config.line_statement)) { - m_state = State::LineStart; - } else { - m_pos += 1; // wasn't actually an opening sequence - goto again; - } - - nonstd::string_view text = string_view::slice(m_in, m_tok_start, m_pos); - if (must_lstrip) - text = clear_final_line_if_whitespace(text); - - if (text.empty()) goto again; // don't generate empty token - return Token(Token::Kind::Text, text); - } - case State::ExpressionStart: { - m_state = State::ExpressionBody; - m_pos += m_config.expression_open.size(); - return make_token(Token::Kind::ExpressionOpen); - } - case State::LineStart: { - m_state = State::LineBody; - m_pos += m_config.line_statement.size(); - return make_token(Token::Kind::LineStatementOpen); - } - case State::StatementStart: { - m_state = State::StatementBody; - m_pos += m_config.statement_open.size(); - return make_token(Token::Kind::StatementOpen); - } - case State::CommentStart: { - m_state = State::CommentBody; - m_pos += m_config.comment_open.size(); - return make_token(Token::Kind::CommentOpen); - } - case State::ExpressionBody: - return scan_body(m_config.expression_close, Token::Kind::ExpressionClose); - case State::LineBody: - return scan_body("\n", Token::Kind::LineStatementClose); - case State::StatementBody: - return scan_body(m_config.statement_close, Token::Kind::StatementClose, m_config.trim_blocks); - case State::CommentBody: { - // fast-scan to comment close - size_t end = m_in.substr(m_pos).find(m_config.comment_close); - if (end == nonstd::string_view::npos) { - m_pos = m_in.size(); - return make_token(Token::Kind::Eof); - } - // return the entire comment in the close token - m_state = State::Text; - m_pos += end + m_config.comment_close.size(); - Token tok = make_token(Token::Kind::CommentClose); - if (m_config.trim_blocks) - skip_newline(); - return tok; - } - } - } - - const LexerConfig& get_config() const { return m_config; } - - private: - Token scan_body(nonstd::string_view close, Token::Kind closeKind, bool trim = false) { + Token scan_body(std::string_view close, Token::Kind closeKind, std::string_view close_trim = std::string_view(), bool trim = false) { again: // skip whitespace (except for \n as it might be a close) - if (m_tok_start >= m_in.size()) return make_token(Token::Kind::Eof); - char ch = m_in[m_tok_start]; + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + const char ch = m_in[tok_start]; if (ch == ' ' || ch == '\t' || ch == '\r') { - m_tok_start += 1; + tok_start += 1; goto again; } // check for close - if (inja::string_view::starts_with(m_in.substr(m_tok_start), close)) { - m_state = State::Text; - m_pos = m_tok_start + close.size(); - Token tok = make_token(closeKind); - if (trim) - skip_newline(); + if (!close_trim.empty() && inja::string_view::starts_with(m_in.substr(tok_start), close_trim)) { + state = State::Text; + pos = tok_start + close_trim.size(); + const Token tok = make_token(closeKind); + skip_whitespaces_and_newlines(); + return tok; + } + + if (inja::string_view::starts_with(m_in.substr(tok_start), close)) { + state = State::Text; + pos = tok_start + close.size(); + const Token tok = make_token(closeKind); + if (trim) { + skip_whitespaces_and_first_newline(); + } return tok; } // skip \n if (ch == '\n') { - m_tok_start += 1; + tok_start += 1; goto again; } - m_pos = m_tok_start + 1; - if (std::isalpha(ch)) return scan_id(); + pos = tok_start + 1; + if (std::isalpha(ch)) { + minus_state = MinusState::Operator; + return scan_id(); + } + + const MinusState current_minus_state = minus_state; + if (minus_state == MinusState::Operator) { + minus_state = MinusState::Number; + } + switch (ch) { - case ',': - return make_token(Token::Kind::Comma); - case ':': - return make_token(Token::Kind::Colon); - case '(': - return make_token(Token::Kind::LeftParen); - case ')': - return make_token(Token::Kind::RightParen); - case '[': - return make_token(Token::Kind::LeftBracket); - case ']': - return make_token(Token::Kind::RightBracket); - case '{': - return make_token(Token::Kind::LeftBrace); - case '}': - return make_token(Token::Kind::RightBrace); - case '>': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::GreaterEqual); - } - return make_token(Token::Kind::GreaterThan); - case '<': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::LessEqual); - } - return make_token(Token::Kind::LessThan); - case '=': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::Equal); - } - return make_token(Token::Kind::Unknown); - case '!': - if (m_pos < m_in.size() && m_in[m_pos] == '=') { - m_pos += 1; - return make_token(Token::Kind::NotEqual); - } - return make_token(Token::Kind::Unknown); - case '\"': - return scan_string(); - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - return scan_number(); - case '_': - return scan_id(); - default: - return make_token(Token::Kind::Unknown); + case '+': + return make_token(Token::Kind::Plus); + case '-': + if (current_minus_state == MinusState::Operator) { + return make_token(Token::Kind::Minus); + } + return scan_number(); + case '*': + return make_token(Token::Kind::Times); + case '/': + return make_token(Token::Kind::Slash); + case '^': + return make_token(Token::Kind::Power); + case '%': + return make_token(Token::Kind::Percent); + case '.': + return make_token(Token::Kind::Dot); + case ',': + return make_token(Token::Kind::Comma); + case ':': + return make_token(Token::Kind::Colon); + case '(': + return make_token(Token::Kind::LeftParen); + case ')': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightParen); + case '[': + return make_token(Token::Kind::LeftBracket); + case ']': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBracket); + case '{': + return make_token(Token::Kind::LeftBrace); + case '}': + minus_state = MinusState::Operator; + return make_token(Token::Kind::RightBrace); + case '>': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::GreaterEqual); + } + return make_token(Token::Kind::GreaterThan); + case '<': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::LessEqual); + } + return make_token(Token::Kind::LessThan); + case '=': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::Equal); + } + return make_token(Token::Kind::Unknown); + case '!': + if (pos < m_in.size() && m_in[pos] == '=') { + pos += 1; + return make_token(Token::Kind::NotEqual); + } + return make_token(Token::Kind::Unknown); + case '\"': + return scan_string(); + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + minus_state = MinusState::Operator; + return scan_number(); + case '_': + case '@': + case '$': + minus_state = MinusState::Operator; + return scan_id(); + default: + return make_token(Token::Kind::Unknown); } } Token scan_id() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + const char ch = m_in[pos]; if (!std::isalnum(ch) && ch != '.' && ch != '/' && ch != '_' && ch != '-') { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Id); } Token scan_number() { for (;;) { - if (m_pos >= m_in.size()) { + if (pos >= m_in.size()) { break; } - char ch = m_in[m_pos]; + const char ch = m_in[pos]; // be very permissive in lexer (we'll catch errors when conversion happens) - if (!std::isdigit(ch) && ch != '.' && ch != 'e' && ch != 'E' && ch != '+' && ch != '-') { + if (!(std::isdigit(ch) || ch == '.' || ch == 'e' || ch == 'E' || (ch == '+' && (pos == 0 || m_in[pos-1] == 'e' || m_in[pos-1] == 'E')) || (ch == '-' && (pos == 0 || m_in[pos-1] == 'e' || m_in[pos-1] == 'E')))) { break; } - m_pos += 1; + pos += 1; } return make_token(Token::Kind::Number); } @@ -2066,11 +1195,13 @@ class Lexer { Token scan_string() { bool escape {false}; for (;;) { - if (m_pos >= m_in.size()) break; - char ch = m_in[m_pos++]; + if (pos >= m_in.size()) { + break; + } + const char ch = m_in[pos++]; if (ch == '\\') { escape = true; - } else if (!escape && ch == m_in[m_tok_start]) { + } else if (!escape && ch == m_in[tok_start]) { break; } else { escape = false; @@ -2080,675 +1211,870 @@ class Lexer { } Token make_token(Token::Kind kind) const { - return Token(kind, string_view::slice(m_in, m_tok_start, m_pos)); + return Token(kind, string_view::slice(m_in, tok_start, pos)); } - void skip_newline() { - if (m_pos < m_in.size()) { - char ch = m_in[m_pos]; - if (ch == '\n') - m_pos += 1; - else if (ch == '\r') { - m_pos += 1; - if (m_pos < m_in.size() && m_in[m_pos] == '\n') - m_pos += 1; + void skip_whitespaces_and_newlines() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t' || m_in[pos] == '\n' || m_in[pos] == '\r')) { + pos += 1; } } } - static nonstd::string_view clear_final_line_if_whitespace(nonstd::string_view text) - { - nonstd::string_view result = text; + void skip_whitespaces_and_first_newline() { + if (pos < m_in.size()) { + while (pos < m_in.size() && (m_in[pos] == ' ' || m_in[pos] == '\t')) { + pos += 1; + } + } + + if (pos < m_in.size()) { + const char ch = m_in[pos]; + if (ch == '\n') { + pos += 1; + } else if (ch == '\r') { + pos += 1; + if (pos < m_in.size() && m_in[pos] == '\n') { + pos += 1; + } + } + } + } + + static std::string_view clear_final_line_if_whitespace(std::string_view text) { + std::string_view result = text; while (!result.empty()) { - char ch = result.back(); - if (ch == ' ' || ch == '\t') - result.remove_suffix(1); - else if (ch == '\n' || ch == '\r') + const char ch = result.back(); + if (ch == ' ' || ch == '\t') { + result.remove_suffix(1); + } else if (ch == '\n' || ch == '\r') { break; - else + } else { return text; + } } return result; } + +public: + explicit Lexer(const LexerConfig& config): config(config), state(State::Text), minus_state(MinusState::Number) {} + + SourceLocation current_position() const { + return get_source_location(m_in, tok_start); + } + + void start(std::string_view input) { + m_in = input; + tok_start = 0; + pos = 0; + state = State::Text; + minus_state = MinusState::Number; + + // Consume byte order mark (BOM) for UTF-8 + if (inja::string_view::starts_with(m_in, "\xEF\xBB\xBF")) { + m_in = m_in.substr(3); + } + } + + Token scan() { + tok_start = pos; + + again: + if (tok_start >= m_in.size()) { + return make_token(Token::Kind::Eof); + } + + switch (state) { + default: + case State::Text: { + // fast-scan to first open character + const size_t open_start = m_in.substr(pos).find_first_of(config.open_chars); + if (open_start == std::string_view::npos) { + // didn't find open, return remaining text as text token + pos = m_in.size(); + return make_token(Token::Kind::Text); + } + pos += open_start; + + // try to match one of the opening sequences, and get the close + std::string_view open_str = m_in.substr(pos); + bool must_lstrip = false; + if (inja::string_view::starts_with(open_str, config.expression_open)) { + if (inja::string_view::starts_with(open_str, config.expression_open_force_lstrip)) { + state = State::ExpressionStartForceLstrip; + must_lstrip = true; + } else { + state = State::ExpressionStart; + } + } else if (inja::string_view::starts_with(open_str, config.statement_open)) { + if (inja::string_view::starts_with(open_str, config.statement_open_no_lstrip)) { + state = State::StatementStartNoLstrip; + } else if (inja::string_view::starts_with(open_str, config.statement_open_force_lstrip)) { + state = State::StatementStartForceLstrip; + must_lstrip = true; + } else { + state = State::StatementStart; + must_lstrip = config.lstrip_blocks; + } + } else if (inja::string_view::starts_with(open_str, config.comment_open)) { + if (inja::string_view::starts_with(open_str, config.comment_open_force_lstrip)) { + state = State::CommentStartForceLstrip; + must_lstrip = true; + } else { + state = State::CommentStart; + must_lstrip = config.lstrip_blocks; + } + } else if ((pos == 0 || m_in[pos - 1] == '\n') && inja::string_view::starts_with(open_str, config.line_statement)) { + state = State::LineStart; + } else { + pos += 1; // wasn't actually an opening sequence + goto again; + } + + std::string_view text = string_view::slice(m_in, tok_start, pos); + if (must_lstrip) { + text = clear_final_line_if_whitespace(text); + } + + if (text.empty()) { + goto again; // don't generate empty token + } + return Token(Token::Kind::Text, text); + } + case State::ExpressionStart: { + state = State::ExpressionBody; + pos += config.expression_open.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::ExpressionStartForceLstrip: { + state = State::ExpressionBody; + pos += config.expression_open_force_lstrip.size(); + return make_token(Token::Kind::ExpressionOpen); + } + case State::LineStart: { + state = State::LineBody; + pos += config.line_statement.size(); + return make_token(Token::Kind::LineStatementOpen); + } + case State::StatementStart: { + state = State::StatementBody; + pos += config.statement_open.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartNoLstrip: { + state = State::StatementBody; + pos += config.statement_open_no_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::StatementStartForceLstrip: { + state = State::StatementBody; + pos += config.statement_open_force_lstrip.size(); + return make_token(Token::Kind::StatementOpen); + } + case State::CommentStart: { + state = State::CommentBody; + pos += config.comment_open.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::CommentStartForceLstrip: { + state = State::CommentBody; + pos += config.comment_open_force_lstrip.size(); + return make_token(Token::Kind::CommentOpen); + } + case State::ExpressionBody: + return scan_body(config.expression_close, Token::Kind::ExpressionClose, config.expression_close_force_rstrip); + case State::LineBody: + return scan_body("\n", Token::Kind::LineStatementClose); + case State::StatementBody: + return scan_body(config.statement_close, Token::Kind::StatementClose, config.statement_close_force_rstrip, config.trim_blocks); + case State::CommentBody: { + // fast-scan to comment close + const size_t end = m_in.substr(pos).find(config.comment_close); + if (end == std::string_view::npos) { + pos = m_in.size(); + return make_token(Token::Kind::Eof); + } + + // Check for trim pattern + const bool must_rstrip = inja::string_view::starts_with(m_in.substr(pos + end - 1), config.comment_close_force_rstrip); + + // return the entire comment in the close token + state = State::Text; + pos += end + config.comment_close.size(); + Token tok = make_token(Token::Kind::CommentClose); + + if (must_rstrip || config.trim_blocks) { + skip_whitespaces_and_first_newline(); + } + return tok; + } + } + } + + const LexerConfig& get_config() const { + return config; + } }; -} +} // namespace inja -#endif // PANTOR_INJA_LEXER_HPP +#endif // INCLUDE_INJA_LEXER_HPP_ + +// #include "node.hpp" // #include "template.hpp" -#ifndef PANTOR_INJA_TEMPLATE_HPP -#define PANTOR_INJA_TEMPLATE_HPP - -#include -#include -#include - -// #include "bytecode.hpp" - - - -namespace inja { - -/*! - * \brief The main inja Template. - */ -struct Template { - std::vector bytecodes; - std::string content; -}; - -using TemplateStorage = std::map; - -} - -#endif // PANTOR_INJA_TEMPLATE_HPP // #include "token.hpp" // #include "utils.hpp" -#include - - namespace inja { -class ParserStatic { - ParserStatic() { - functions.add_builtin("at", 2, Bytecode::Op::At); - functions.add_builtin("default", 2, Bytecode::Op::Default); - functions.add_builtin("divisibleBy", 2, Bytecode::Op::DivisibleBy); - functions.add_builtin("even", 1, Bytecode::Op::Even); - functions.add_builtin("first", 1, Bytecode::Op::First); - functions.add_builtin("float", 1, Bytecode::Op::Float); - functions.add_builtin("int", 1, Bytecode::Op::Int); - functions.add_builtin("last", 1, Bytecode::Op::Last); - functions.add_builtin("length", 1, Bytecode::Op::Length); - functions.add_builtin("lower", 1, Bytecode::Op::Lower); - functions.add_builtin("max", 1, Bytecode::Op::Max); - functions.add_builtin("min", 1, Bytecode::Op::Min); - functions.add_builtin("odd", 1, Bytecode::Op::Odd); - functions.add_builtin("range", 1, Bytecode::Op::Range); - functions.add_builtin("round", 2, Bytecode::Op::Round); - functions.add_builtin("sort", 1, Bytecode::Op::Sort); - functions.add_builtin("upper", 1, Bytecode::Op::Upper); - functions.add_builtin("exists", 1, Bytecode::Op::Exists); - functions.add_builtin("existsIn", 2, Bytecode::Op::ExistsInObject); - functions.add_builtin("isBoolean", 1, Bytecode::Op::IsBoolean); - functions.add_builtin("isNumber", 1, Bytecode::Op::IsNumber); - functions.add_builtin("isInteger", 1, Bytecode::Op::IsInteger); - functions.add_builtin("isFloat", 1, Bytecode::Op::IsFloat); - functions.add_builtin("isObject", 1, Bytecode::Op::IsObject); - functions.add_builtin("isArray", 1, Bytecode::Op::IsArray); - functions.add_builtin("isString", 1, Bytecode::Op::IsString); - } - - public: - ParserStatic(const ParserStatic&) = delete; - ParserStatic& operator=(const ParserStatic&) = delete; - - static const ParserStatic& get_instance() { - static ParserStatic inst; - return inst; - } - - FunctionStorage functions; -}; - /*! * \brief Class for parsing an inja Template. */ class Parser { - public: - explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& included_templates): m_config(parser_config), m_lexer(lexer_config), m_included_templates(included_templates), m_static(ParserStatic::get_instance()) { } + const ParserConfig& config; - bool parse_expression(Template& tmpl) { - if (!parse_expression_and(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("or")) return true; - get_next_token(); - if (!parse_expression_and(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Or, 2); - return true; + Lexer lexer; + TemplateStorage& template_storage; + const FunctionStorage& function_storage; + + Token tok, peek_tok; + bool have_peek_tok {false}; + + size_t current_paren_level {0}; + size_t current_bracket_level {0}; + size_t current_brace_level {0}; + + std::string_view literal_start; + + BlockNode* current_block {nullptr}; + ExpressionListNode* current_expression_list {nullptr}; + std::stack> function_stack; + std::vector> arguments; + + std::stack> operator_stack; + std::stack if_statement_stack; + std::stack for_statement_stack; + std::stack block_statement_stack; + + inline void throw_parser_error(const std::string& message) const { + INJA_THROW(ParserError(message, lexer.current_position())); } - bool parse_expression_and(Template& tmpl) { - if (!parse_expression_not(tmpl)) return false; - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("and")) return true; - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::And, 2); - return true; - } - - bool parse_expression_not(Template& tmpl) { - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("not")) { - get_next_token(); - if (!parse_expression_not(tmpl)) return false; - append_function(tmpl, Bytecode::Op::Not, 1); - return true; + inline void get_next_token() { + if (have_peek_tok) { + tok = peek_tok; + have_peek_tok = false; } else { - return parse_expression_comparison(tmpl); + tok = lexer.scan(); } } - bool parse_expression_comparison(Template& tmpl) { - if (!parse_expression_datum(tmpl)) return false; - Bytecode::Op op; - switch (m_tok.kind) { - case Token::Kind::Id: - if (m_tok.text == static_cast("in")) - op = Bytecode::Op::In; - else - return true; - break; - case Token::Kind::Equal: - op = Bytecode::Op::Equal; - break; - case Token::Kind::GreaterThan: - op = Bytecode::Op::Greater; - break; - case Token::Kind::LessThan: - op = Bytecode::Op::Less; - break; - case Token::Kind::LessEqual: - op = Bytecode::Op::LessEqual; - break; - case Token::Kind::GreaterEqual: - op = Bytecode::Op::GreaterEqual; - break; - case Token::Kind::NotEqual: - op = Bytecode::Op::Different; - break; - default: - return true; + inline void get_peek_token() { + if (!have_peek_tok) { + peek_tok = lexer.scan(); + have_peek_tok = true; } - get_next_token(); - if (!parse_expression_datum(tmpl)) return false; - append_function(tmpl, op, 2); - return true; } - bool parse_expression_datum(Template& tmpl) { - nonstd::string_view json_first; - size_t bracket_level = 0; - size_t brace_level = 0; + inline void add_literal(const char* content_ptr) { + std::string_view data_text(literal_start.data(), tok.text.data() - literal_start.data() + tok.text.size()); + arguments.emplace_back(std::make_shared(data_text, data_text.data() - content_ptr)); + } - for (;;) { - switch (m_tok.kind) { - case Token::Kind::LeftParen: { - get_next_token(); - if (!parse_expression(tmpl)) return false; - if (m_tok.kind != Token::Kind::RightParen) { - inja_throw("parser_error", "unmatched '('"); - } - get_next_token(); - return true; + inline void add_operator() { + auto function = operator_stack.top(); + operator_stack.pop(); + + for (int i = 0; i < function->number_args; ++i) { + function->arguments.insert(function->arguments.begin(), arguments.back()); + arguments.pop_back(); + } + arguments.emplace_back(function); + } + + void add_to_template_storage(std::string_view path, std::string& template_name) { + if (template_storage.find(template_name) != template_storage.end()) { + return; + } + + std::string original_path = static_cast(path); + std::string original_name = template_name; + + if (config.search_included_templates_in_files) { + // Build the relative path + template_name = original_path + original_name; + if (template_name.compare(0, 2, "./") == 0) { + template_name.erase(0, 2); + } + + if (template_storage.find(template_name) == template_storage.end()) { + // Load file + std::ifstream file; + file.open(template_name); + if (!file.fail()) { + std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); + + auto include_template = Template(text); + template_storage.emplace(template_name, include_template); + parse_into_template(template_storage[template_name], template_name); + return; + } else if (!config.include_callback) { + INJA_THROW(FileError("failed accessing file at '" + template_name + "'")); } - case Token::Kind::Id: - get_peek_token(); - if (m_peek_tok.kind == Token::Kind::LeftParen) { - // function call, parse arguments - Token func_token = m_tok; - get_next_token(); // id - get_next_token(); // leftParen - unsigned int num_args = 0; - if (m_tok.kind == Token::Kind::RightParen) { - // no args - get_next_token(); - } else { - for (;;) { - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - num_args += 1; - if (m_tok.kind == Token::Kind::RightParen) { - get_next_token(); - break; - } - if (m_tok.kind != Token::Kind::Comma) { - inja_throw("parser_error", "expected ')' or ',', got '" + m_tok.describe() + "'"); - } - get_next_token(); - } - } + } + } - auto op = m_static.functions.find_builtin(func_token.text, num_args); + // Try include callback + if (config.include_callback) { + auto include_template = config.include_callback(original_path, original_name); + template_storage.emplace(template_name, include_template); + } + } - if (op != Bytecode::Op::Nop) { - // swap arguments for default(); see comment in RenderTo() - if (op == Bytecode::Op::Default) - std::swap(tmpl.bytecodes.back(), *(tmpl.bytecodes.rbegin() + 1)); - append_function(tmpl, op, num_args); - return true; - } else { - append_callback(tmpl, func_token.text, num_args); - return true; - } - } else if (m_tok.text == static_cast("true") || - m_tok.text == static_cast("false") || - m_tok.text == static_cast("null")) { - // true, false, null are json literals - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; - } - break; + std::string parse_filename(const Token& tok) const { + if (tok.kind != Token::Kind::String) { + throw_parser_error("expected string, got '" + tok.describe() + "'"); + } + + if (tok.text.length() < 2) { + throw_parser_error("expected filename, got '" + static_cast(tok.text) + "'"); + } + + // Remove first and last character "" + return std::string {tok.text.substr(1, tok.text.length() - 2)}; + } + + bool parse_expression(Template& tmpl, Token::Kind closing) { + while (tok.kind != closing && tok.kind != Token::Kind::Eof) { + // Literals + switch (tok.kind) { + case Token::Kind::String: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::Number: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::LeftBracket: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + } + current_bracket_level += 1; + } break; + case Token::Kind::LeftBrace: { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + } + current_brace_level += 1; + } break; + case Token::Kind::RightBracket: { + if (current_bracket_level == 0) { + throw_parser_error("unexpected ']'"); + } + + current_bracket_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::RightBrace: { + if (current_brace_level == 0) { + throw_parser_error("unexpected '}'"); + } + + current_brace_level -= 1; + if (current_brace_level == 0 && current_bracket_level == 0) { + add_literal(tmpl.content.c_str()); + } + } break; + case Token::Kind::Id: { + get_peek_token(); + + // Data Literal + if (tok.text == static_cast("true") || tok.text == static_cast("false") || + tok.text == static_cast("null")) { + if (current_brace_level == 0 && current_bracket_level == 0) { + literal_start = tok.text; + add_literal(tmpl.content.c_str()); + } + + // Operator + } else if (tok.text == "and" || tok.text == "or" || tok.text == "in" || tok.text == "not") { + goto parse_operator; + + // Functions + } else if (peek_tok.kind == Token::Kind::LeftParen) { + operator_stack.emplace(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + function_stack.emplace(operator_stack.top().get(), current_paren_level); + + // Variables + } else { + arguments.emplace_back(std::make_shared(static_cast(tok.text), tok.text.data() - tmpl.content.c_str())); + } + + // Operators + } break; + case Token::Kind::Equal: + case Token::Kind::NotEqual: + case Token::Kind::GreaterThan: + case Token::Kind::GreaterEqual: + case Token::Kind::LessThan: + case Token::Kind::LessEqual: + case Token::Kind::Plus: + case Token::Kind::Minus: + case Token::Kind::Times: + case Token::Kind::Slash: + case Token::Kind::Power: + case Token::Kind::Percent: + case Token::Kind::Dot: { + + parse_operator: + FunctionStorage::Operation operation; + switch (tok.kind) { + case Token::Kind::Id: { + if (tok.text == "and") { + operation = FunctionStorage::Operation::And; + } else if (tok.text == "or") { + operation = FunctionStorage::Operation::Or; + } else if (tok.text == "in") { + operation = FunctionStorage::Operation::In; + } else if (tok.text == "not") { + operation = FunctionStorage::Operation::Not; } else { - // normal literal (json read) - tmpl.bytecodes.emplace_back( - Bytecode::Op::Push, m_tok.text, - m_config.notation == ElementNotation::Pointer ? Bytecode::Flag::ValueLookupPointer : Bytecode::Flag::ValueLookupDot); - get_next_token(); - return true; + throw_parser_error("unknown operator in parser."); } - // json passthrough - case Token::Kind::Number: - case Token::Kind::String: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; - goto returnJson; + } break; + case Token::Kind::Equal: { + operation = FunctionStorage::Operation::Equal; + } break; + case Token::Kind::NotEqual: { + operation = FunctionStorage::Operation::NotEqual; + } break; + case Token::Kind::GreaterThan: { + operation = FunctionStorage::Operation::Greater; + } break; + case Token::Kind::GreaterEqual: { + operation = FunctionStorage::Operation::GreaterEqual; + } break; + case Token::Kind::LessThan: { + operation = FunctionStorage::Operation::Less; + } break; + case Token::Kind::LessEqual: { + operation = FunctionStorage::Operation::LessEqual; + } break; + case Token::Kind::Plus: { + operation = FunctionStorage::Operation::Add; + } break; + case Token::Kind::Minus: { + operation = FunctionStorage::Operation::Subtract; + } break; + case Token::Kind::Times: { + operation = FunctionStorage::Operation::Multiplication; + } break; + case Token::Kind::Slash: { + operation = FunctionStorage::Operation::Division; + } break; + case Token::Kind::Power: { + operation = FunctionStorage::Operation::Power; + } break; + case Token::Kind::Percent: { + operation = FunctionStorage::Operation::Modulo; + } break; + case Token::Kind::Dot: { + operation = FunctionStorage::Operation::AtId; + } break; + default: { + throw_parser_error("unknown operator in parser."); + } + } + auto function_node = std::make_shared(operation, tok.text.data() - tmpl.content.c_str()); + + while (!operator_stack.empty() && + ((operator_stack.top()->precedence > function_node->precedence) || + (operator_stack.top()->precedence == function_node->precedence && function_node->associativity == FunctionNode::Associativity::Left)) && + (operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft)) { + add_operator(); + } + + operator_stack.emplace(function_node); + } break; + case Token::Kind::Comma: { + if (current_brace_level == 0 && current_bracket_level == 0) { + if (function_stack.empty()) { + throw_parser_error("unexpected ','"); } - break; - case Token::Kind::Comma: - case Token::Kind::Colon: - if (brace_level == 0 && bracket_level == 0) { - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); + + function_stack.top().first->number_args += 1; + } + } break; + case Token::Kind::Colon: { + if (current_brace_level == 0 && current_bracket_level == 0) { + throw_parser_error("unexpected ':'"); + } + } break; + case Token::Kind::LeftParen: { + current_paren_level += 1; + operator_stack.emplace(std::make_shared(FunctionStorage::Operation::ParenLeft, tok.text.data() - tmpl.content.c_str())); + + get_peek_token(); + if (peek_tok.kind == Token::Kind::RightParen) { + if (!function_stack.empty() && function_stack.top().second == current_paren_level - 1) { + function_stack.top().first->number_args = 0; } - break; - case Token::Kind::LeftBracket: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + } + } break; + case Token::Kind::RightParen: { + current_paren_level -= 1; + while (!operator_stack.empty() && operator_stack.top()->operation != FunctionStorage::Operation::ParenLeft) { + add_operator(); + } + + if (!operator_stack.empty() && operator_stack.top()->operation == FunctionStorage::Operation::ParenLeft) { + operator_stack.pop(); + } + + if (!function_stack.empty() && function_stack.top().second == current_paren_level) { + auto func = function_stack.top().first; + auto function_data = function_storage.find_function(func->name, func->number_args); + if (function_data.operation == FunctionStorage::Operation::None) { + throw_parser_error("unknown function " + func->name); } - bracket_level += 1; - break; - case Token::Kind::LeftBrace: - if (brace_level == 0 && bracket_level == 0) { - json_first = m_tok.text; + func->operation = function_data.operation; + if (function_data.operation == FunctionStorage::Operation::Callback) { + func->callback = function_data.callback; } - brace_level += 1; - break; - case Token::Kind::RightBracket: - if (bracket_level == 0) { - inja_throw("parser_error", "unexpected ']'"); + + if (operator_stack.empty()) { + throw_parser_error("internal error at function " + func->name); } - --bracket_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - case Token::Kind::RightBrace: - if (brace_level == 0) { - inja_throw("parser_error", "unexpected '}'"); - } - --brace_level; - if (brace_level == 0 && bracket_level == 0) goto returnJson; - break; - default: - if (brace_level != 0) { - inja_throw("parser_error", "unmatched '{'"); - } - if (bracket_level != 0) { - inja_throw("parser_error", "unmatched '['"); - } - return false; + + add_operator(); + function_stack.pop(); + } + } + default: + break; } get_next_token(); } - returnJson: - // bridge across all intermediate tokens - nonstd::string_view json_text(json_first.data(), m_tok.text.data() - json_first.data() + m_tok.text.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Push, json::parse(json_text), Bytecode::Flag::ValueImmediate); - get_next_token(); + while (!operator_stack.empty()) { + add_operator(); + } + + if (arguments.size() == 1) { + current_expression_list->root = arguments[0]; + arguments = {}; + } else if (arguments.size() > 1) { + throw_parser_error("malformed expression"); + } + return true; } - bool parse_statement(Template& tmpl, nonstd::string_view path) { - if (m_tok.kind != Token::Kind::Id) return false; + bool parse_statement(Template& tmpl, Token::Kind closing, std::string_view path) { + if (tok.kind != Token::Kind::Id) { + return false; + } - if (m_tok.text == static_cast("if")) { + if (tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // start a new if block on if stack - m_if_stack.emplace_back(tmpl.bytecodes.size()); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); - } else if (m_tok.text == static_cast("endif")) { - if (m_if_stack.empty()) { - inja_throw("parser_error", "endif without matching if"); + if (!parse_expression(tmpl, closing)) { + return false; } - auto& if_data = m_if_stack.back(); + } else if (tok.text == static_cast("else")) { + if (if_statement_stack.empty()) { + throw_parser_error("else without matching if"); + } + auto& if_statement_data = if_statement_stack.top(); get_next_token(); - // previous conditional jump jumps here - if (if_data.prev_cond_jump != std::numeric_limits::max()) { - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - } + if_statement_data->has_false_statement = true; + current_block = &if_statement_data->false_statement; - // update all previous unconditional jumps to here - for (unsigned int i: if_data.uncond_jumps) { - tmpl.bytecodes[i].args = tmpl.bytecodes.size(); - } - - // pop if stack - m_if_stack.pop_back(); - } else if (m_tok.text == static_cast("else")) { - if (m_if_stack.empty()) - inja_throw("parser_error", "else without matching if"); - auto& if_data = m_if_stack.back(); - get_next_token(); - - // end previous block with unconditional jump to endif; destination will be - // filled in by endif - if_data.uncond_jumps.push_back(tmpl.bytecodes.size()); - tmpl.bytecodes.emplace_back(Bytecode::Op::Jump); - - // previous conditional jump jumps here - tmpl.bytecodes[if_data.prev_cond_jump].args = tmpl.bytecodes.size(); - if_data.prev_cond_jump = std::numeric_limits::max(); - - // chained else if - if (m_tok.kind == Token::Kind::Id && m_tok.text == static_cast("if")) { + // Chained else if + if (tok.kind == Token::Kind::Id && tok.text == static_cast("if")) { get_next_token(); - // evaluate expression - if (!parse_expression(tmpl)) return false; + auto if_statement_node = std::make_shared(true, current_block, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(if_statement_node); + if_statement_stack.emplace(if_statement_node.get()); + current_block = &if_statement_node->true_statement; + current_expression_list = &if_statement_node->condition; - // update "previous jump" - if_data.prev_cond_jump = tmpl.bytecodes.size(); - - // conditional jump; destination will be filled in by else or endif - tmpl.bytecodes.emplace_back(Bytecode::Op::ConditionalJump); + if (!parse_expression(tmpl, closing)) { + return false; + } } - } else if (m_tok.text == static_cast("for")) { + } else if (tok.text == static_cast("endif")) { + if (if_statement_stack.empty()) { + throw_parser_error("endif without matching if"); + } + + // Nested if statements + while (if_statement_stack.top()->is_nested) { + if_statement_stack.pop(); + } + + auto& if_statement_data = if_statement_stack.top(); + get_next_token(); + + current_block = if_statement_data->parent; + if_statement_stack.pop(); + } else if (tok.text == static_cast("block")) { + get_next_token(); + + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected block name, got '" + tok.describe() + "'"); + } + + const std::string block_name = static_cast(tok.text); + + auto block_statement_node = std::make_shared(current_block, block_name, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(block_statement_node); + block_statement_stack.emplace(block_statement_node.get()); + current_block = &block_statement_node->block; + auto success = tmpl.block_storage.emplace(block_name, block_statement_node); + if (!success.second) { + throw_parser_error("block with the name '" + block_name + "' does already exist"); + } + + get_next_token(); + } else if (tok.text == static_cast("endblock")) { + if (block_statement_stack.empty()) { + throw_parser_error("endblock without matching block"); + } + + auto& block_statement_data = block_statement_stack.top(); + get_next_token(); + + current_block = block_statement_data->parent; + block_statement_stack.pop(); + } else if (tok.text == static_cast("for")) { get_next_token(); // options: for a in arr; for a, b in obj - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - Token value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token value_token = tok; get_next_token(); - Token key_token; - if (m_tok.kind == Token::Kind::Comma) { + // Object type + std::shared_ptr for_statement_node; + if (tok.kind == Token::Kind::Comma) { get_next_token(); - if (m_tok.kind != Token::Kind::Id) - inja_throw("parser_error", "expected id, got '" + m_tok.describe() + "'"); - key_token = std::move(value_token); - value_token = m_tok; + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected id, got '" + tok.describe() + "'"); + } + + Token key_token = std::move(value_token); + value_token = tok; get_next_token(); + + for_statement_node = std::make_shared(static_cast(key_token.text), static_cast(value_token.text), + current_block, tok.text.data() - tmpl.content.c_str()); + + // Array type + } else { + for_statement_node = + std::make_shared(static_cast(value_token.text), current_block, tok.text.data() - tmpl.content.c_str()); } - if (m_tok.kind != Token::Kind::Id || m_tok.text != static_cast("in")) - inja_throw("parser_error", - "expected 'in', got '" + m_tok.describe() + "'"); + current_block->nodes.emplace_back(for_statement_node); + for_statement_stack.emplace(for_statement_node.get()); + current_block = &for_statement_node->body; + current_expression_list = &for_statement_node->condition; + + if (tok.kind != Token::Kind::Id || tok.text != static_cast("in")) { + throw_parser_error("expected 'in', got '" + tok.describe() + "'"); + } get_next_token(); - if (!parse_expression(tmpl)) return false; - - m_loop_stack.push_back(tmpl.bytecodes.size()); - - tmpl.bytecodes.emplace_back(Bytecode::Op::StartLoop); - if (!key_token.text.empty()) { - tmpl.bytecodes.back().value = key_token.text; + if (!parse_expression(tmpl, closing)) { + return false; } - tmpl.bytecodes.back().str = static_cast(value_token.text); - } else if (m_tok.text == static_cast("endfor")) { - get_next_token(); - if (m_loop_stack.empty()) { - inja_throw("parser_error", "endfor without matching for"); + } else if (tok.text == static_cast("endfor")) { + if (for_statement_stack.empty()) { + throw_parser_error("endfor without matching for"); } - // update loop with EndLoop index (for empty case) - tmpl.bytecodes[m_loop_stack.back()].args = tmpl.bytecodes.size(); - - tmpl.bytecodes.emplace_back(Bytecode::Op::EndLoop); - tmpl.bytecodes.back().args = m_loop_stack.back() + 1; // loop body - m_loop_stack.pop_back(); - } else if (m_tok.text == static_cast("include")) { + auto& for_statement_data = for_statement_stack.top(); get_next_token(); - if (m_tok.kind != Token::Kind::String) { - inja_throw("parser_error", "expected string, got '" + m_tok.describe() + "'"); - } + current_block = for_statement_data->parent; + for_statement_stack.pop(); + } else if (tok.text == static_cast("include")) { + get_next_token(); - // build the relative path - json json_name = json::parse(m_tok.text); - std::string pathname = static_cast(path); - pathname += json_name.get_ref(); - if (pathname.compare(0, 2, "./") == 0) { - pathname.erase(0, 2); - } - // sys::path::remove_dots(pathname, true, sys::path::Style::posix); + std::string template_name = parse_filename(tok); + add_to_template_storage(path, template_name); - if (m_included_templates.find(pathname) == m_included_templates.end()) { - Template include_template = parse_template(pathname); - m_included_templates.emplace(pathname, include_template); - } - - // generate a reference bytecode - tmpl.bytecodes.emplace_back(Bytecode::Op::Include, json(pathname), Bytecode::Flag::ValueImmediate); + current_block->nodes.emplace_back(std::make_shared(template_name, tok.text.data() - tmpl.content.c_str())); get_next_token(); + } else if (tok.text == static_cast("extends")) { + get_next_token(); + + std::string template_name = parse_filename(tok); + add_to_template_storage(path, template_name); + + current_block->nodes.emplace_back(std::make_shared(template_name, tok.text.data() - tmpl.content.c_str())); + + get_next_token(); + } else if (tok.text == static_cast("set")) { + get_next_token(); + + if (tok.kind != Token::Kind::Id) { + throw_parser_error("expected variable name, got '" + tok.describe() + "'"); + } + + std::string key = static_cast(tok.text); + get_next_token(); + + auto set_statement_node = std::make_shared(key, tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(set_statement_node); + current_expression_list = &set_statement_node->expression; + + if (tok.text != static_cast("=")) { + throw_parser_error("expected '=', got '" + tok.describe() + "'"); + } + get_next_token(); + + if (!parse_expression(tmpl, closing)) { + return false; + } } else { return false; } return true; } - void append_function(Template& tmpl, Bytecode::Op op, unsigned int num_args) { - // we can merge with back-to-back push - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push) { - last.op = op; - last.args = num_args; - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(op, num_args); - } - - void append_callback(Template& tmpl, nonstd::string_view name, unsigned int num_args) { - // we can merge with back-to-back push value (not lookup) - if (!tmpl.bytecodes.empty()) { - Bytecode& last = tmpl.bytecodes.back(); - if (last.op == Bytecode::Op::Push && - (last.flags & Bytecode::Flag::ValueMask) == Bytecode::Flag::ValueImmediate) { - last.op = Bytecode::Op::Callback; - last.args = num_args; - last.str = static_cast(name); - return; - } - } - - // otherwise just add it to the end - tmpl.bytecodes.emplace_back(Bytecode::Op::Callback, num_args); - tmpl.bytecodes.back().str = static_cast(name); - } - - void parse_into(Template& tmpl, nonstd::string_view path) { - m_lexer.start(tmpl.content); + void parse_into(Template& tmpl, std::string_view path) { + lexer.start(tmpl.content); + current_block = &tmpl.root; for (;;) { get_next_token(); - switch (m_tok.kind) { - case Token::Kind::Eof: - if (!m_if_stack.empty()) inja_throw("parser_error", "unmatched if"); - if (!m_loop_stack.empty()) inja_throw("parser_error", "unmatched for"); - return; - case Token::Kind::Text: - tmpl.bytecodes.emplace_back(Bytecode::Op::PrintText, m_tok.text, 0u); - break; - case Token::Kind::StatementOpen: - get_next_token(); - if (!parse_statement(tmpl, path)) { - inja_throw("parser_error", "expected statement, got '" + m_tok.describe() + "'"); - } - if (m_tok.kind != Token::Kind::StatementClose) { - inja_throw("parser_error", "expected statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::LineStatementOpen: - get_next_token(); - parse_statement(tmpl, path); - if (m_tok.kind != Token::Kind::LineStatementClose && - m_tok.kind != Token::Kind::Eof) { - inja_throw("parser_error", "expected line statement close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::ExpressionOpen: - get_next_token(); - if (!parse_expression(tmpl)) { - inja_throw("parser_error", "expected expression, got '" + m_tok.describe() + "'"); - } - append_function(tmpl, Bytecode::Op::PrintValue, 1); - if (m_tok.kind != Token::Kind::ExpressionClose) { - inja_throw("parser_error", "expected expression close, got '" + m_tok.describe() + "'"); - } - break; - case Token::Kind::CommentOpen: - get_next_token(); - if (m_tok.kind != Token::Kind::CommentClose) { - inja_throw("parser_error", "expected comment close, got '" + m_tok.describe() + "'"); - } - break; - default: - inja_throw("parser_error", "unexpected token '" + m_tok.describe() + "'"); - break; + switch (tok.kind) { + case Token::Kind::Eof: { + if (!if_statement_stack.empty()) { + throw_parser_error("unmatched if"); + } + if (!for_statement_stack.empty()) { + throw_parser_error("unmatched for"); + } + } + return; + case Token::Kind::Text: { + current_block->nodes.emplace_back(std::make_shared(tok.text.data() - tmpl.content.c_str(), tok.text.size())); + } break; + case Token::Kind::StatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::StatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::StatementClose) { + throw_parser_error("expected statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::LineStatementOpen: { + get_next_token(); + if (!parse_statement(tmpl, Token::Kind::LineStatementClose, path)) { + throw_parser_error("expected statement, got '" + tok.describe() + "'"); + } + if (tok.kind != Token::Kind::LineStatementClose && tok.kind != Token::Kind::Eof) { + throw_parser_error("expected line statement close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::ExpressionOpen: { + get_next_token(); + + auto expression_list_node = std::make_shared(tok.text.data() - tmpl.content.c_str()); + current_block->nodes.emplace_back(expression_list_node); + current_expression_list = expression_list_node.get(); + + if (!parse_expression(tmpl, Token::Kind::ExpressionClose)) { + throw_parser_error("expected expression, got '" + tok.describe() + "'"); + } + + if (tok.kind != Token::Kind::ExpressionClose) { + throw_parser_error("expected expression close, got '" + tok.describe() + "'"); + } + } break; + case Token::Kind::CommentOpen: { + get_next_token(); + if (tok.kind != Token::Kind::CommentClose) { + throw_parser_error("expected comment close, got '" + tok.describe() + "'"); + } + } break; + default: { + throw_parser_error("unexpected token '" + tok.describe() + "'"); + } break; } } } - Template parse(nonstd::string_view input, nonstd::string_view path) { - Template result; - result.content = static_cast(input); +public: + explicit Parser(const ParserConfig& parser_config, const LexerConfig& lexer_config, TemplateStorage& template_storage, + const FunctionStorage& function_storage) + : config(parser_config), lexer(lexer_config), template_storage(template_storage), function_storage(function_storage) {} + + Template parse(std::string_view input, std::string_view path) { + auto result = Template(static_cast(input)); parse_into(result, path); return result; } - Template parse(nonstd::string_view input) { + Template parse(std::string_view input) { return parse(input, "./"); } - Template parse_template(nonstd::string_view filename) { - Template result; - result.content = load_file(filename); + void parse_into_template(Template& tmpl, std::string_view filename) { + std::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); - nonstd::string_view path = filename.substr(0, filename.find_last_of("/\\") + 1); - // StringRef path = sys::path::parent_path(filename); - Parser(m_config, m_lexer.get_config(), m_included_templates).parse_into(result, path); - return result; + // StringRef path = sys::path::parent_path(filename); + auto sub_parser = Parser(config, lexer.get_config(), template_storage, function_storage); + sub_parser.parse_into(tmpl, path); } - std::string load_file(nonstd::string_view filename) { - std::ifstream file = open_file_or_throw(static_cast(filename)); + std::string load_file(const std::string& filename) { + std::ifstream file; + file.open(filename); + if (file.fail()) { + INJA_THROW(FileError("failed accessing file at '" + filename + "'")); + } std::string text((std::istreambuf_iterator(file)), std::istreambuf_iterator()); return text; } - - private: - const ParserConfig& m_config; - Lexer m_lexer; - Token m_tok; - Token m_peek_tok; - bool m_have_peek_tok {false}; - TemplateStorage& m_included_templates; - const ParserStatic& m_static; - - struct IfData { - unsigned int prev_cond_jump; - std::vector uncond_jumps; - - explicit IfData(unsigned int condJump): prev_cond_jump(condJump) {} - }; - - std::vector m_if_stack; - std::vector m_loop_stack; - - void get_next_token() { - if (m_have_peek_tok) { - m_tok = m_peek_tok; - m_have_peek_tok = false; - } else { - m_tok = m_lexer.scan(); - } - } - - void get_peek_token() { - if (!m_have_peek_tok) { - m_peek_tok = m_lexer.scan(); - m_have_peek_tok = true; - } - } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_PARSER_HPP - -// #include "polyfill.hpp" -#ifndef PANTOR_INJA_POLYFILL_HPP -#define PANTOR_INJA_POLYFILL_HPP - - -#if __cplusplus < 201402L - -#include -#include -#include -#include - - -namespace stdinja { - template struct _Unique_if { - typedef std::unique_ptr _Single_object; - }; - - template struct _Unique_if { - typedef std::unique_ptr _Unknown_bound; - }; - - template struct _Unique_if { - typedef void _Known_bound; - }; - - template - typename _Unique_if::_Single_object - make_unique(Args&&... args) { - return std::unique_ptr(new T(std::forward(args)...)); - } - - template - typename _Unique_if::_Unknown_bound - make_unique(size_t n) { - typedef typename std::remove_extent::type U; - return std::unique_ptr(new U[n]()); - } - - template - typename _Unique_if::_Known_bound - make_unique(Args&&...) = delete; -} - -#else - -namespace stdinja = std; - -#endif // memory */ - - -#endif // PANTOR_INJA_POLYFILL_HPP +#endif // INCLUDE_INJA_PARSER_HPP_ // #include "renderer.hpp" -#ifndef PANTOR_INJA_RENDERER_HPP -#define PANTOR_INJA_RENDERER_HPP +#ifndef INCLUDE_INJA_RENDERER_HPP_ +#define INCLUDE_INJA_RENDERER_HPP_ #include #include @@ -2756,677 +2082,735 @@ namespace stdinja = std; #include #include -#include +// #include "config.hpp" -// #include "bytecode.hpp" +// #include "exceptions.hpp" + +// #include "node.hpp" // #include "template.hpp" // #include "utils.hpp" - namespace inja { -inline nonstd::string_view convert_dot_to_json_pointer(nonstd::string_view dot, std::string& out) { - out.clear(); - do { - nonstd::string_view part; - std::tie(part, dot) = string_view::split(dot, '.'); - out.push_back('/'); - out.append(part.begin(), part.end()); - } while (!dot.empty()); - return nonstd::string_view(out.data(), out.size()); -} - /*! * \brief Class for rendering a Template with data. */ -class Renderer { - std::vector& get_args(const Bytecode& bc) { - m_tmp_args.clear(); +class Renderer : public NodeVisitor { + using Op = FunctionStorage::Operation; - bool has_imm = ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop); + const RenderConfig config; + const TemplateStorage& template_storage; + const FunctionStorage& function_storage; - // get args from stack - unsigned int pop_args = bc.args; - if (has_imm) { - pop_args -= 1; - } + const Template* current_template; + size_t current_level {0}; + std::vector template_stack; + std::vector block_statement_stack; - for (auto i = std::prev(m_stack.end(), pop_args); i != m_stack.end(); i++) { - m_tmp_args.push_back(&(*i)); - } + const json* data_input; + std::ostream* output_stream; - // get immediate arg - if (has_imm) { - m_tmp_args.push_back(get_imm(bc)); - } + json additional_data; + json* current_loop_data = &additional_data["loop"]; - return m_tmp_args; - } + std::vector> data_tmp_stack; + std::stack data_eval_stack; + std::stack not_found_stack; - void pop_args(const Bytecode& bc) { - unsigned int popArgs = bc.args; - if ((bc.flags & Bytecode::Flag::ValueMask) != Bytecode::Flag::ValuePop) { - popArgs -= 1; - } - for (unsigned int i = 0; i < popArgs; ++i) { - m_stack.pop_back(); - } - } + bool break_rendering {false}; - const json* get_imm(const Bytecode& bc) { - std::string ptr_buffer; - nonstd::string_view ptr; - switch (bc.flags & Bytecode::Flag::ValueMask) { - case Bytecode::Flag::ValuePop: - return nullptr; - case Bytecode::Flag::ValueImmediate: - return &bc.value; - case Bytecode::Flag::ValueLookupDot: - ptr = convert_dot_to_json_pointer(bc.str, ptr_buffer); - break; - case Bytecode::Flag::ValueLookupPointer: - ptr_buffer += '/'; - ptr_buffer += bc.str; - ptr = ptr_buffer; - break; - } - try { - return &m_data->at(json::json_pointer(ptr.data())); - } catch (std::exception&) { - // try to evaluate as a no-argument callback - if (auto callback = m_callbacks.find_callback(bc.str, 0)) { - std::vector arguments {}; - m_tmp_val = callback(arguments); - return &m_tmp_val; - } - inja_throw("render_error", "variable '" + static_cast(bc.str) + "' not found"); - return nullptr; - } - } - - bool truthy(const json& var) const { - if (var.empty()) { + static bool truthy(const json* data) { + if (data->is_boolean()) { + return data->get(); + } else if (data->is_number()) { + return (*data != 0); + } else if (data->is_null()) { return false; - } else if (var.is_number()) { - return (var != 0); - } else if (var.is_string()) { - return !var.empty(); - } - - try { - return var.get(); - } catch (json::type_error& e) { - inja_throw("json_error", e.what()); - throw; } + return !data->empty(); } - void update_loop_data() { - LoopLevel& level = m_loop_stack.back(); - - if (level.loop_type == LoopLevel::Type::Array) { - level.data[static_cast(level.value_name)] = level.values.at(level.index); // *level.it; - auto& loopData = level.data["loop"]; - loopData["index"] = level.index; - loopData["index1"] = level.index + 1; - loopData["is_first"] = (level.index == 0); - loopData["is_last"] = (level.index == level.size - 1); + void print_data(const std::shared_ptr value) { + if (value->is_string()) { + *output_stream << value->get_ref(); + } else if (value->is_number_integer()) { + *output_stream << value->get(); + } else if (value->is_null()) { } else { - level.data[static_cast(level.key_name)] = level.map_it->first; - level.data[static_cast(level.value_name)] = *level.map_it->second; + *output_stream << value->dump(); } } - const TemplateStorage& m_included_templates; - const FunctionStorage& m_callbacks; + const std::shared_ptr eval_expression_list(const ExpressionListNode& expression_list) { + if (!expression_list.root) { + throw_renderer_error("empty expression", expression_list); + } - std::vector m_stack; + expression_list.root->accept(*this); + if (data_eval_stack.empty()) { + throw_renderer_error("empty expression", expression_list); + } else if (data_eval_stack.size() != 1) { + throw_renderer_error("malformed expression", expression_list); + } - struct LoopLevel { - enum class Type { Map, Array }; + const auto result = data_eval_stack.top(); + data_eval_stack.pop(); - Type loop_type; - nonstd::string_view key_name; // variable name for keys - nonstd::string_view value_name; // variable name for values - json data; // data with loop info added + if (!result) { + if (not_found_stack.empty()) { + throw_renderer_error("expression could not be evaluated", expression_list); + } - json values; // values to iterate over + auto node = not_found_stack.top(); + not_found_stack.pop(); - // loop over list - size_t index; // current list index - size_t size; // length of list - - // loop over map - using KeyValue = std::pair; - using MapValues = std::vector; - MapValues map_values; // values to iterate over - MapValues::iterator map_it; // iterator over values - - }; - - std::vector m_loop_stack; - const json* m_data; - - std::vector m_tmp_args; - json m_tmp_val; - - - public: - Renderer(const TemplateStorage& included_templates, const FunctionStorage& callbacks): m_included_templates(included_templates), m_callbacks(callbacks) { - m_stack.reserve(16); - m_tmp_args.reserve(4); - m_loop_stack.reserve(16); + throw_renderer_error("variable '" + static_cast(node->name) + "' not found", *node); + } + return std::make_shared(*result); } - void render_to(std::ostream& os, const Template& tmpl, const json& data) { - m_data = &data; + void throw_renderer_error(const std::string& message, const AstNode& node) { + SourceLocation loc = get_source_location(current_template->content, node.pos); + INJA_THROW(RenderError(message, loc)); + } - for (size_t i = 0; i < tmpl.bytecodes.size(); ++i) { - const auto& bc = tmpl.bytecodes[i]; + void make_result(const json&& result) { + auto result_ptr = std::make_shared(result); + data_tmp_stack.push_back(result_ptr); + data_eval_stack.push(result_ptr.get()); + } - switch (bc.op) { - case Bytecode::Op::Nop: { - break; - } - case Bytecode::Op::PrintText: { - os << bc.str; - break; - } - case Bytecode::Op::PrintValue: { - const json& val = *get_args(bc)[0]; - if (val.is_string()) { - os << val.get_ref(); - } else { - os << val.dump(); - } - pop_args(bc); - break; - } - case Bytecode::Op::Push: { - m_stack.emplace_back(*get_imm(bc)); - break; - } - case Bytecode::Op::Upper: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::toupper); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Lower: { - auto result = get_args(bc)[0]->get(); - std::transform(result.begin(), result.end(), result.begin(), ::tolower); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Range: { - int number = get_args(bc)[0]->get(); - std::vector result(number); - std::iota(std::begin(result), std::end(result), 0); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Length: { - const json& val = *get_args(bc)[0]; + template std::array get_arguments(const FunctionNode& node) { + if (node.arguments.size() < N_start + N) { + throw_renderer_error("function needs " + std::to_string(N_start + N) + " variables, but has only found " + std::to_string(node.arguments.size()), node); + } - int result; - if (val.is_string()) { - result = val.get_ref().length(); - } else { - result = val.size(); - } + for (size_t i = N_start; i < N_start + N; i += 1) { + node.arguments[i]->accept(*this); + } - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Sort: { - auto result = get_args(bc)[0]->get>(); - std::sort(result.begin(), result.end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::At: { - auto args = get_args(bc); - auto result = args[0]->at(args[1]->get()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::First: { - auto result = get_args(bc)[0]->front(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Last: { - auto result = get_args(bc)[0]->back(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Round: { - auto args = get_args(bc); - double number = args[0]->get(); - int precision = args[1]->get(); - pop_args(bc); - m_stack.emplace_back(std::round(number * std::pow(10.0, precision)) / std::pow(10.0, precision)); - break; - } - case Bytecode::Op::DivisibleBy: { - auto args = get_args(bc); - int number = args[0]->get(); - int divisor = args[1]->get(); - pop_args(bc); - m_stack.emplace_back((divisor != 0) && (number % divisor == 0)); - break; - } - case Bytecode::Op::Odd: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 != 0); - break; - } - case Bytecode::Op::Even: { - int number = get_args(bc)[0]->get(); - pop_args(bc); - m_stack.emplace_back(number % 2 == 0); - break; - } - case Bytecode::Op::Max: { - auto args = get_args(bc); - auto result = *std::max_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Min: { - auto args = get_args(bc); - auto result = *std::min_element(args[0]->begin(), args[0]->end()); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Not: { - bool result = !truthy(*get_args(bc)[0]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::And: { - auto args = get_args(bc); - bool result = truthy(*args[0]) && truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Or: { - auto args = get_args(bc); - bool result = truthy(*args[0]) || truthy(*args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::In: { - auto args = get_args(bc); - bool result = std::find(args[1]->begin(), args[1]->end(), *args[0]) != - args[1]->end(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Equal: { - auto args = get_args(bc); - bool result = (*args[0] == *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Greater: { - auto args = get_args(bc); - bool result = (*args[0] > *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Less: { - auto args = get_args(bc); - bool result = (*args[0] < *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::GreaterEqual: { - auto args = get_args(bc); - bool result = (*args[0] >= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::LessEqual: { - auto args = get_args(bc); - bool result = (*args[0] <= *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Different: { - auto args = get_args(bc); - bool result = (*args[0] != *args[1]); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Float: { - double result = - std::stod(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Int: { - int result = std::stoi(get_args(bc)[0]->get_ref()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Exists: { - auto&& name = get_args(bc)[0]->get_ref(); - bool result = (data.find(name) != data.end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::ExistsInObject: { - auto args = get_args(bc); - auto&& name = args[1]->get_ref(); - bool result = (args[0]->find(name) != args[0]->end()); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsBoolean: { - bool result = get_args(bc)[0]->is_boolean(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsNumber: { - bool result = get_args(bc)[0]->is_number(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsInteger: { - bool result = get_args(bc)[0]->is_number_integer(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsFloat: { - bool result = get_args(bc)[0]->is_number_float(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsObject: { - bool result = get_args(bc)[0]->is_object(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsArray: { - bool result = get_args(bc)[0]->is_array(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::IsString: { - bool result = get_args(bc)[0]->is_string(); - pop_args(bc); - m_stack.emplace_back(result); - break; - } - case Bytecode::Op::Default: { - // default needs to be a bit "magic"; we can't evaluate the first - // argument during the push operation, so we swap the arguments during - // the parse phase so the second argument is pushed on the stack and - // the first argument is in the immediate - try { - const json* imm = get_imm(bc); - // if no exception was raised, replace the stack value with it - m_stack.back() = *imm; - } catch (std::exception&) { - // couldn't read immediate, just leave the stack as is - } - break; - } - case Bytecode::Op::Include: - Renderer(m_included_templates, m_callbacks).render_to(os, m_included_templates.find(get_imm(bc)->get_ref())->second, *m_data); - break; - case Bytecode::Op::Callback: { - auto callback = m_callbacks.find_callback(bc.str, bc.args); - if (!callback) { - inja_throw("render_error", "function '" + static_cast(bc.str) + "' (" + std::to_string(static_cast(bc.args)) + ") not found"); - } - json result = callback(get_args(bc)); - pop_args(bc); - m_stack.emplace_back(std::move(result)); - break; - } - case Bytecode::Op::Jump: { - i = bc.args - 1; // -1 due to ++i in loop - break; - } - case Bytecode::Op::ConditionalJump: { - if (!truthy(m_stack.back())) { - i = bc.args - 1; // -1 due to ++i in loop - } - m_stack.pop_back(); - break; - } - case Bytecode::Op::StartLoop: { - // jump past loop body if empty - if (m_stack.back().empty()) { - m_stack.pop_back(); - i = bc.args; // ++i in loop will take it past EndLoop - break; - } + if (data_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(data_eval_stack.size()), node); + } - m_loop_stack.emplace_back(); - LoopLevel& level = m_loop_stack.back(); - level.value_name = bc.str; - level.values = std::move(m_stack.back()); - level.data = (*m_data); - m_stack.pop_back(); + std::array result; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = data_eval_stack.top(); + data_eval_stack.pop(); - if (bc.value.is_string()) { - // map iterator - if (!level.values.is_object()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "for key, value requires object"); - } - level.loop_type = LoopLevel::Type::Map; - level.key_name = bc.value.get_ref(); + if (!result[N - i - 1]) { + const auto data_node = not_found_stack.top(); + not_found_stack.pop(); - // sort by key - for (auto it = level.values.begin(), end = level.values.end(); it != end; ++it) { - level.map_values.emplace_back(it.key(), &it.value()); - } - std::sort(level.map_values.begin(), level.map_values.end(), [](const LoopLevel::KeyValue& a, const LoopLevel::KeyValue& b) { return a.first < b.first; }); - level.map_it = level.map_values.begin(); - } else { - if (!level.values.is_array()) { - m_loop_stack.pop_back(); - inja_throw("render_error", "type must be array"); - } - - // list iterator - level.loop_type = LoopLevel::Type::Array; - level.index = 0; - level.size = level.values.size(); - } - - // provide parent access in nested loop - auto parent_loop_it = level.data.find("loop"); - if (parent_loop_it != level.data.end()) { - json loop_copy = *parent_loop_it; - (*parent_loop_it)["parent"] = std::move(loop_copy); - } - - // set "current" data to loop data - m_data = &level.data; - update_loop_data(); - break; - } - case Bytecode::Op::EndLoop: { - if (m_loop_stack.empty()) { - inja_throw("render_error", "unexpected state in renderer"); - } - LoopLevel& level = m_loop_stack.back(); - - bool done; - if (level.loop_type == LoopLevel::Type::Array) { - level.index += 1; - done = (level.index == level.values.size()); - } else { - level.map_it += 1; - done = (level.map_it == level.map_values.end()); - } - - if (done) { - m_loop_stack.pop_back(); - // set "current" data to outer loop data or main data as appropriate - if (!m_loop_stack.empty()) { - m_data = &m_loop_stack.back().data; - } else { - m_data = &data; - } - break; - } - - update_loop_data(); - - // jump back to start of loop - i = bc.args - 1; // -1 due to ++i in loop - break; - } - default: { - inja_throw("render_error", "unknown op in renderer: " + std::to_string(static_cast(bc.op))); + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(data_node->name) + "' not found", *data_node); } } } + return result; + } + + template Arguments get_argument_vector(const FunctionNode& node) { + const size_t N = node.arguments.size(); + for (auto a : node.arguments) { + a->accept(*this); + } + + if (data_eval_stack.size() < N) { + throw_renderer_error("function needs " + std::to_string(N) + " variables, but has only found " + std::to_string(data_eval_stack.size()), node); + } + + Arguments result {N}; + for (size_t i = 0; i < N; i += 1) { + result[N - i - 1] = data_eval_stack.top(); + data_eval_stack.pop(); + + if (!result[N - i - 1]) { + const auto data_node = not_found_stack.top(); + not_found_stack.pop(); + + if (throw_not_found) { + throw_renderer_error("variable '" + static_cast(data_node->name) + "' not found", *data_node); + } + } + } + return result; + } + + void visit(const BlockNode& node) { + for (auto& n : node.nodes) { + n->accept(*this); + + if (break_rendering) { + break; + } + } + } + + void visit(const TextNode& node) { + output_stream->write(current_template->content.c_str() + node.pos, node.length); + } + + void visit(const ExpressionNode&) {} + + void visit(const LiteralNode& node) { + data_eval_stack.push(&node.value); + } + + void visit(const DataNode& node) { + if (additional_data.contains(node.ptr)) { + data_eval_stack.push(&(additional_data[node.ptr])); + } else if (data_input->contains(node.ptr)) { + data_eval_stack.push(&(*data_input)[node.ptr]); + } else { + // Try to evaluate as a no-argument callback + const auto function_data = function_storage.find_function(node.name, 0); + if (function_data.operation == FunctionStorage::Operation::Callback) { + Arguments empty_args {}; + const auto value = std::make_shared(function_data.callback(empty_args)); + data_tmp_stack.push_back(value); + data_eval_stack.push(value.get()); + } else { + data_eval_stack.push(nullptr); + not_found_stack.emplace(&node); + } + } + } + + void visit(const FunctionNode& node) { + switch (node.operation) { + case Op::Not: { + const auto args = get_arguments<1>(node); + make_result(!truthy(args[0])); + } break; + case Op::And: { + make_result(truthy(get_arguments<1, 0>(node)[0]) && truthy(get_arguments<1, 1>(node)[0])); + } break; + case Op::Or: { + make_result(truthy(get_arguments<1, 0>(node)[0]) || truthy(get_arguments<1, 1>(node)[0])); + } break; + case Op::In: { + const auto args = get_arguments<2>(node); + make_result(std::find(args[1]->begin(), args[1]->end(), *args[0]) != args[1]->end()); + } break; + case Op::Equal: { + const auto args = get_arguments<2>(node); + make_result(*args[0] == *args[1]); + } break; + case Op::NotEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] != *args[1]); + } break; + case Op::Greater: { + const auto args = get_arguments<2>(node); + make_result(*args[0] > *args[1]); + } break; + case Op::GreaterEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] >= *args[1]); + } break; + case Op::Less: { + const auto args = get_arguments<2>(node); + make_result(*args[0] < *args[1]); + } break; + case Op::LessEqual: { + const auto args = get_arguments<2>(node); + make_result(*args[0] <= *args[1]); + } break; + case Op::Add: { + const auto args = get_arguments<2>(node); + if (args[0]->is_string() && args[1]->is_string()) { + make_result(args[0]->get_ref() + args[1]->get_ref()); + } else if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() + args[1]->get()); + } else { + make_result(args[0]->get() + args[1]->get()); + } + } break; + case Op::Subtract: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() - args[1]->get()); + } else { + make_result(args[0]->get() - args[1]->get()); + } + } break; + case Op::Multiplication: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->is_number_integer()) { + make_result(args[0]->get() * args[1]->get()); + } else { + make_result(args[0]->get() * args[1]->get()); + } + } break; + case Op::Division: { + const auto args = get_arguments<2>(node); + if (args[1]->get() == 0) { + throw_renderer_error("division by zero", node); + } + make_result(args[0]->get() / args[1]->get()); + } break; + case Op::Power: { + const auto args = get_arguments<2>(node); + if (args[0]->is_number_integer() && args[1]->get() >= 0) { + int result = static_cast(std::pow(args[0]->get(), args[1]->get())); + make_result(result); + } else { + double result = std::pow(args[0]->get(), args[1]->get()); + make_result(result); + } + } break; + case Op::Modulo: { + const auto args = get_arguments<2>(node); + make_result(args[0]->get() % args[1]->get()); + } break; + case Op::AtId: { + const auto container = get_arguments<1, 0, false>(node)[0]; + node.arguments[1]->accept(*this); + if (not_found_stack.empty()) { + throw_renderer_error("could not find element with given name", node); + } + const auto id_node = not_found_stack.top(); + not_found_stack.pop(); + data_eval_stack.pop(); + data_eval_stack.push(&container->at(id_node->name)); + } break; + case Op::At: { + const auto args = get_arguments<2>(node); + if (args[0]->is_object()) { + data_eval_stack.push(&args[0]->at(args[1]->get())); + } else { + data_eval_stack.push(&args[0]->at(args[1]->get())); + } + } break; + case Op::Default: { + const auto test_arg = get_arguments<1, 0, false>(node)[0]; + data_eval_stack.push(test_arg ? test_arg : get_arguments<1, 1>(node)[0]); + } break; + case Op::DivisibleBy: { + const auto args = get_arguments<2>(node); + const int divisor = args[1]->get(); + make_result((divisor != 0) && (args[0]->get() % divisor == 0)); + } break; + case Op::Even: { + make_result(get_arguments<1>(node)[0]->get() % 2 == 0); + } break; + case Op::Exists: { + auto&& name = get_arguments<1>(node)[0]->get_ref(); + make_result(data_input->contains(json::json_pointer(DataNode::convert_dot_to_ptr(name)))); + } break; + case Op::ExistsInObject: { + const auto args = get_arguments<2>(node); + auto&& name = args[1]->get_ref(); + make_result(args[0]->find(name) != args[0]->end()); + } break; + case Op::First: { + const auto result = &get_arguments<1>(node)[0]->front(); + data_eval_stack.push(result); + } break; + case Op::Float: { + make_result(std::stod(get_arguments<1>(node)[0]->get_ref())); + } break; + case Op::Int: { + make_result(std::stoi(get_arguments<1>(node)[0]->get_ref())); + } break; + case Op::Last: { + const auto result = &get_arguments<1>(node)[0]->back(); + data_eval_stack.push(result); + } break; + case Op::Length: { + const auto val = get_arguments<1>(node)[0]; + if (val->is_string()) { + make_result(val->get_ref().length()); + } else { + make_result(val->size()); + } + } break; + case Op::Lower: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::tolower); + make_result(std::move(result)); + } break; + case Op::Max: { + const auto args = get_arguments<1>(node); + const auto result = std::max_element(args[0]->begin(), args[0]->end()); + data_eval_stack.push(&(*result)); + } break; + case Op::Min: { + const auto args = get_arguments<1>(node); + const auto result = std::min_element(args[0]->begin(), args[0]->end()); + data_eval_stack.push(&(*result)); + } break; + case Op::Odd: { + make_result(get_arguments<1>(node)[0]->get() % 2 != 0); + } break; + case Op::Range: { + std::vector result(get_arguments<1>(node)[0]->get()); + std::iota(result.begin(), result.end(), 0); + make_result(std::move(result)); + } break; + case Op::Round: { + const auto args = get_arguments<2>(node); + const int precision = args[1]->get(); + const double result = std::round(args[0]->get() * std::pow(10.0, precision)) / std::pow(10.0, precision); + if (precision == 0) { + make_result(int(result)); + } else { + make_result(result); + } + } break; + case Op::Sort: { + auto result_ptr = std::make_shared(get_arguments<1>(node)[0]->get>()); + std::sort(result_ptr->begin(), result_ptr->end()); + data_tmp_stack.push_back(result_ptr); + data_eval_stack.push(result_ptr.get()); + } break; + case Op::Upper: { + std::string result = get_arguments<1>(node)[0]->get(); + std::transform(result.begin(), result.end(), result.begin(), ::toupper); + make_result(std::move(result)); + } break; + case Op::IsBoolean: { + make_result(get_arguments<1>(node)[0]->is_boolean()); + } break; + case Op::IsNumber: { + make_result(get_arguments<1>(node)[0]->is_number()); + } break; + case Op::IsInteger: { + make_result(get_arguments<1>(node)[0]->is_number_integer()); + } break; + case Op::IsFloat: { + make_result(get_arguments<1>(node)[0]->is_number_float()); + } break; + case Op::IsObject: { + make_result(get_arguments<1>(node)[0]->is_object()); + } break; + case Op::IsArray: { + make_result(get_arguments<1>(node)[0]->is_array()); + } break; + case Op::IsString: { + make_result(get_arguments<1>(node)[0]->is_string()); + } break; + case Op::Callback: { + auto args = get_argument_vector(node); + make_result(node.callback(args)); + } break; + case Op::Super: { + const auto args = get_argument_vector(node); + const size_t old_level = current_level; + const size_t level_diff = (args.size() == 1) ? args[0]->get() : 1; + const size_t level = current_level + level_diff; + + if (block_statement_stack.empty()) { + throw_renderer_error("super() call is not within a block", node); + } + + if (level < 1 || level > template_stack.size() - 1) { + throw_renderer_error("level of super() call does not match parent templates (between 1 and " + std::to_string(template_stack.size() - 1) + ")", node); + } + + const auto current_block_statement = block_statement_stack.back(); + const Template* new_template = template_stack.at(level); + const Template* old_template = current_template; + const auto block_it = new_template->block_storage.find(current_block_statement->name); + if (block_it != new_template->block_storage.end()) { + current_template = new_template; + current_level = level; + block_it->second->block.accept(*this); + current_level = old_level; + current_template = old_template; + } else { + throw_renderer_error("could not find block with name '" + current_block_statement->name + "'", node); + } + make_result(nullptr); + } break; + case Op::Join: { + const auto args = get_arguments<2>(node); + const auto separator = args[1]->get(); + std::ostringstream os; + std::string sep; + for (const auto& value : *args[0]) { + os << sep; + if (value.is_string()) { + os << value.get(); // otherwise the value is surrounded with "" + } else { + os << value.dump(); + } + sep = separator; + } + make_result(os.str()); + } break; + case Op::ParenLeft: + case Op::ParenRight: + case Op::None: + break; + } + } + + void visit(const ExpressionListNode& node) { + print_data(eval_expression_list(node)); + } + + void visit(const StatementNode&) {} + + void visit(const ForStatementNode&) {} + + void visit(const ForArrayStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (!result->is_array()) { + throw_renderer_error("object must be an array", node); + } + + if (!current_loop_data->empty()) { + auto tmp = *current_loop_data; // Because of clang-3 + (*current_loop_data)["parent"] = std::move(tmp); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + additional_data[static_cast(node.value)] = *it; + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + const auto tmp = (*current_loop_data)["parent"]; + *current_loop_data = std::move(tmp); + } else { + current_loop_data = &additional_data["loop"]; + } + } + + void visit(const ForObjectStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (!result->is_object()) { + throw_renderer_error("object must be an object", node); + } + + if (!current_loop_data->empty()) { + (*current_loop_data)["parent"] = std::move(*current_loop_data); + } + + size_t index = 0; + (*current_loop_data)["is_first"] = true; + (*current_loop_data)["is_last"] = (result->size() <= 1); + for (auto it = result->begin(); it != result->end(); ++it) { + additional_data[static_cast(node.key)] = it.key(); + additional_data[static_cast(node.value)] = it.value(); + + (*current_loop_data)["index"] = index; + (*current_loop_data)["index1"] = index + 1; + if (index == 1) { + (*current_loop_data)["is_first"] = false; + } + if (index == result->size() - 1) { + (*current_loop_data)["is_last"] = true; + } + + node.body.accept(*this); + ++index; + } + + additional_data[static_cast(node.key)].clear(); + additional_data[static_cast(node.value)].clear(); + if (!(*current_loop_data)["parent"].empty()) { + *current_loop_data = std::move((*current_loop_data)["parent"]); + } else { + current_loop_data = &additional_data["loop"]; + } + } + + void visit(const IfStatementNode& node) { + const auto result = eval_expression_list(node.condition); + if (truthy(result.get())) { + node.true_statement.accept(*this); + } else if (node.has_false_statement) { + node.false_statement.accept(*this); + } + } + + void visit(const IncludeStatementNode& node) { + auto sub_renderer = Renderer(config, template_storage, function_storage); + const auto included_template_it = template_storage.find(node.file); + if (included_template_it != template_storage.end()) { + sub_renderer.render_to(*output_stream, included_template_it->second, *data_input, &additional_data); + } else if (config.throw_at_missing_includes) { + throw_renderer_error("include '" + node.file + "' not found", node); + } + } + + void visit(const ExtendsStatementNode& node) { + const auto included_template_it = template_storage.find(node.file); + if (included_template_it != template_storage.end()) { + const Template* parent_template = &included_template_it->second; + render_to(*output_stream, *parent_template, *data_input, &additional_data); + break_rendering = true; + } else if (config.throw_at_missing_includes) { + throw_renderer_error("extends '" + node.file + "' not found", node); + } + } + + void visit(const BlockStatementNode& node) { + const size_t old_level = current_level; + current_level = 0; + current_template = template_stack.front(); + const auto block_it = current_template->block_storage.find(node.name); + if (block_it != current_template->block_storage.end()) { + block_statement_stack.emplace_back(&node); + block_it->second->block.accept(*this); + block_statement_stack.pop_back(); + } + current_level = old_level; + current_template = template_stack.back(); + } + + void visit(const SetStatementNode& node) { + std::string ptr = node.key; + replace_substring(ptr, ".", "/"); + ptr = "/" + ptr; + additional_data[json::json_pointer(ptr)] = *eval_expression_list(node.expression); + } + +public: + Renderer(const RenderConfig& config, const TemplateStorage& template_storage, const FunctionStorage& function_storage) + : config(config), template_storage(template_storage), function_storage(function_storage) {} + + void render_to(std::ostream& os, const Template& tmpl, const json& data, json* loop_data = nullptr) { + output_stream = &os; + current_template = &tmpl; + data_input = &data; + if (loop_data) { + additional_data = *loop_data; + current_loop_data = &additional_data["loop"]; + } + + template_stack.emplace_back(current_template); + current_template->root.accept(*this); + + data_tmp_stack.clear(); } }; -} // namespace inja +} // namespace inja -#endif // PANTOR_INJA_RENDERER_HPP - -// #include "string_view.hpp" +#endif // INCLUDE_INJA_RENDERER_HPP_ // #include "template.hpp" // #include "utils.hpp" - namespace inja { -using namespace nlohmann; - /*! * \brief Class for changing the configuration. */ class Environment { - class Impl { - public: - std::string input_path; - std::string output_path; + std::string input_path; + std::string output_path; - LexerConfig lexer_config; - ParserConfig parser_config; + LexerConfig lexer_config; + ParserConfig parser_config; + RenderConfig render_config; - FunctionStorage callbacks; - TemplateStorage included_templates; - }; + FunctionStorage function_storage; + TemplateStorage template_storage; - std::unique_ptr m_impl; +public: + Environment(): Environment("") {} - public: - Environment(): Environment("") { } + explicit Environment(const std::string& global_path): input_path(global_path), output_path(global_path) {} - explicit Environment(const std::string& global_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = global_path; - m_impl->output_path = global_path; - } - - explicit Environment(const std::string& input_path, const std::string& output_path): m_impl(stdinja::make_unique()) { - m_impl->input_path = input_path; - m_impl->output_path = output_path; - } + Environment(const std::string& input_path, const std::string& output_path): input_path(input_path), output_path(output_path) {} /// Sets the opener and closer for template statements void set_statement(const std::string& open, const std::string& close) { - m_impl->lexer_config.statement_open = open; - m_impl->lexer_config.statement_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.statement_open = open; + lexer_config.statement_open_no_lstrip = open + "+"; + lexer_config.statement_open_force_lstrip = open + "-"; + lexer_config.statement_close = close; + lexer_config.statement_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener for template line statements void set_line_statement(const std::string& open) { - m_impl->lexer_config.line_statement = open; - m_impl->lexer_config.update_open_chars(); + lexer_config.line_statement = open; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template expressions void set_expression(const std::string& open, const std::string& close) { - m_impl->lexer_config.expression_open = open; - m_impl->lexer_config.expression_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.expression_open = open; + lexer_config.expression_open_force_lstrip = open + "-"; + lexer_config.expression_close = close; + lexer_config.expression_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets the opener and closer for template comments void set_comment(const std::string& open, const std::string& close) { - m_impl->lexer_config.comment_open = open; - m_impl->lexer_config.comment_close = close; - m_impl->lexer_config.update_open_chars(); + lexer_config.comment_open = open; + lexer_config.comment_open_force_lstrip = open + "-"; + lexer_config.comment_close = close; + lexer_config.comment_close_force_rstrip = "-" + close; + lexer_config.update_open_chars(); } /// Sets whether to remove the first newline after a block void set_trim_blocks(bool trim_blocks) { - m_impl->lexer_config.trim_blocks = trim_blocks; + lexer_config.trim_blocks = trim_blocks; } /// Sets whether to strip the spaces and tabs from the start of a line to a block void set_lstrip_blocks(bool lstrip_blocks) { - m_impl->lexer_config.lstrip_blocks = lstrip_blocks; + lexer_config.lstrip_blocks = lstrip_blocks; } /// Sets the element notation syntax - void set_element_notation(ElementNotation notation) { - m_impl->parser_config.notation = notation; + void set_search_included_templates_in_files(bool search_in_files) { + parser_config.search_included_templates_in_files = search_in_files; } + /// Sets whether a missing include will throw an error + void set_throw_at_missing_includes(bool will_throw) { + render_config.throw_at_missing_includes = will_throw; + } - Template parse(nonstd::string_view input) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); + Template parse(std::string_view input) { + Parser parser(parser_config, lexer_config, template_storage, function_storage); return parser.parse(input); } Template parse_template(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.parse_template(m_impl->input_path + static_cast(filename)); - } + Parser parser(parser_config, lexer_config, template_storage, function_storage); + auto result = Template(parser.load_file(input_path + static_cast(filename))); + parser.parse_into_template(result, input_path + static_cast(filename)); + return result; + } - std::string render(nonstd::string_view input, const json& data) { + Template parse_file(const std::string& filename) { + return parse_template(filename); + } + + std::string render(std::string_view input, const json& data) { return render(parse(input), data); } @@ -3437,55 +2821,85 @@ class Environment { } std::string render_file(const std::string& filename, const json& data) { - return render(parse_template(filename), data); - } + return render(parse_template(filename), data); + } std::string render_file_with_json_file(const std::string& filename, const std::string& filename_data) { - const json data = load_json(filename_data); - return render_file(filename, data); - } + const json data = load_json(filename_data); + return render_file(filename, data); + } void write(const std::string& filename, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render_file(filename, data); - file.close(); - } + std::ofstream file(output_path + filename_out); + file << render_file(filename, data); + file.close(); + } void write(const Template& temp, const json& data, const std::string& filename_out) { - std::ofstream file(m_impl->output_path + filename_out); - file << render(temp, data); - file.close(); - } + std::ofstream file(output_path + filename_out); + file << render(temp, data); + file.close(); + } - void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(filename, data, filename_out); - } + void write_with_json_file(const std::string& filename, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(filename, data, filename_out); + } - void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { - const json data = load_json(filename_data); - write(temp, data, filename_out); - } + void write_with_json_file(const Template& temp, const std::string& filename_data, const std::string& filename_out) { + const json data = load_json(filename_data); + write(temp, data, filename_out); + } std::ostream& render_to(std::ostream& os, const Template& tmpl, const json& data) { - Renderer(m_impl->included_templates, m_impl->callbacks).render_to(os, tmpl, data); + Renderer(render_config, template_storage, function_storage).render_to(os, tmpl, data); return os; } std::string load_file(const std::string& filename) { - Parser parser(m_impl->parser_config, m_impl->lexer_config, m_impl->included_templates); - return parser.load_file(m_impl->input_path + filename); - } + Parser parser(parser_config, lexer_config, template_storage, function_storage); + return parser.load_file(input_path + filename); + } json load_json(const std::string& filename) { - std::ifstream file = open_file_or_throw(m_impl->input_path + filename); - json j; - file >> j; - return j; + std::ifstream file; + file.open(input_path + filename); + if (file.fail()) { + INJA_THROW(FileError("failed accessing file at '" + input_path + filename + "'")); } - void add_callback(const std::string& name, unsigned int numArgs, const CallbackFunction& callback) { - m_impl->callbacks.add_callback(name, numArgs, callback); + return json::parse(std::istreambuf_iterator(file), std::istreambuf_iterator()); + } + + /*! + @brief Adds a variadic callback + */ + void add_callback(const std::string& name, const CallbackFunction& callback) { + add_callback(name, -1, callback); + } + + /*! + @brief Adds a variadic void callback + */ + void add_void_callback(const std::string& name, const VoidCallbackFunction& callback) { + add_void_callback(name, -1, callback); + } + + /*! + @brief Adds a callback with given number or arguments + */ + void add_callback(const std::string& name, int num_args, const CallbackFunction& callback) { + function_storage.add_callback(name, num_args, callback); + } + + /*! + @brief Adds a void callback with given number or arguments + */ + void add_void_callback(const std::string& name, int num_args, const VoidCallbackFunction& callback) { + function_storage.add_callback(name, num_args, [callback](Arguments& args) { + callback(args); + return json(); + }); } /** Includes a template with a given name into the environment. @@ -3493,37 +2907,43 @@ class Environment { * include "" syntax. */ void include_template(const std::string& name, const Template& tmpl) { - m_impl->included_templates[name] = tmpl; + template_storage[name] = tmpl; + } + + /*! + @brief Sets a function that is called when an included file is not found + */ + void set_include_callback(const std::function& callback) { + parser_config.include_callback = callback; } }; /*! @brief render with default settings to a string */ -inline std::string render(nonstd::string_view input, const json& data) { +inline std::string render(std::string_view input, const json& data) { return Environment().render(input, data); } /*! @brief render with default settings to the given output stream */ -inline void render_to(std::ostream& os, nonstd::string_view input, const json& data) { +inline void render_to(std::ostream& os, std::string_view input, const json& data) { Environment env; env.render_to(os, env.parse(input), data); } -} +} // namespace inja -#endif // PANTOR_INJA_ENVIRONMENT_HPP +#endif // INCLUDE_INJA_ENVIRONMENT_HPP_ -// #include "string_view.hpp" - -// #include "template.hpp" +// #include "exceptions.hpp" // #include "parser.hpp" // #include "renderer.hpp" +// #include "template.hpp" -#endif // PANTOR_INJA_HPP +#endif // INCLUDE_INJA_INJA_HPP_ diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 2ba5fd0828..23056a5ff3 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -7,6 +7,9 @@ #include using std::string; using std::to_string; +#include +using std::replace_if; + #include using namespace inja; using json = nlohmann::json; @@ -33,6 +36,7 @@ int main(int argc, char *argv[]) string outputFilepath = argv[3]; Environment env; + env.set_trim_blocks(true); // Add custom command callbacks. env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { @@ -96,6 +100,21 @@ int main(int argc, char *argv[]) return args.at(0)->empty(); }); + env.add_callback("isEmptyString", 1, [](Arguments& args) { + return args.at(0)->get().empty(); + }); + + env.add_callback("cleanString", 1, [](Arguments& args) { + string badChars = ".'{} \n\t-\u00e9"; + string str = args.at(0)->get(); + for (unsigned int i = 0; i < str.length(); i++) { + if (badChars.find(str[i]) != std::string::npos) { + str[i] = '_'; + } + } + return str; + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); diff --git a/tools/jsonproc/nlohmann/json.hpp b/tools/jsonproc/nlohmann/json.hpp index 5003a4fa2d..33a91164c7 100755 --- a/tools/jsonproc/nlohmann/json.hpp +++ b/tools/jsonproc/nlohmann/json.hpp @@ -1,12 +1,12 @@ /* __ _____ _____ _____ __| | __| | | | JSON for Modern C++ -| | |__ | | | | | | version 3.6.1 +| | |__ | | | | | | version 3.10.5 |_____|_____|_____|_|___| https://github.com/nlohmann/json Licensed under the MIT License . SPDX-License-Identifier: MIT -Copyright (c) 2013-2019 Niels Lohmann . +Copyright (c) 2013-2022 Niels Lohmann . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -27,20 +27,29 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file doc/README.md. * +\****************************************************************************/ + #ifndef INCLUDE_NLOHMANN_JSON_HPP_ #define INCLUDE_NLOHMANN_JSON_HPP_ #define NLOHMANN_JSON_VERSION_MAJOR 3 -#define NLOHMANN_JSON_VERSION_MINOR 6 -#define NLOHMANN_JSON_VERSION_PATCH 1 +#define NLOHMANN_JSON_VERSION_MINOR 10 +#define NLOHMANN_JSON_VERSION_PATCH 5 #include // all_of, find, for_each -#include // assert -#include // and, not, or #include // nullptr_t, ptrdiff_t, size_t #include // hash, less #include // initializer_list -#include // istream, ostream +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO #include // random_access_iterator_tag #include // unique_ptr #include // accumulate @@ -51,6 +60,7 @@ SOFTWARE. // #include +#include #include // #include @@ -58,7 +68,6 @@ SOFTWARE. #include // transform #include // array -#include // and, not #include // forward_list #include // inserter, front_inserter, end #include // map @@ -75,383 +84,2222 @@ SOFTWARE. #include // exception #include // runtime_error #include // to_string +#include // vector -// #include +// #include +#include // array #include // size_t +#include // uint8_t +#include // string namespace nlohmann { namespace detail { -/// struct to capture the start position of the current token -struct position_t -{ - /// the total number of characters read - std::size_t chars_read_total = 0; - /// the number of characters read in the current line - std::size_t chars_read_current_line = 0; - /// the number of lines read - std::size_t lines_read = 0; - - /// conversion to size_t to preserve SAX interface - constexpr operator size_t() const - { - return chars_read_total; - } -}; - -} // namespace detail -} // namespace nlohmann - - -namespace nlohmann -{ -namespace detail -{ -//////////////// -// exceptions // -//////////////// +/////////////////////////// +// JSON type enumeration // +/////////////////////////// /*! -@brief general exception of the @ref basic_json class +@brief the JSON type enumeration -This class is an extension of `std::exception` objects with a member @a id for -exception ids. It is used as the base class for all exceptions thrown by the -@ref basic_json class. This class can hence be used as "wildcard" to catch -exceptions. +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. -Subclasses: -- @ref parse_error for exceptions indicating a parse error -- @ref invalid_iterator for exceptions indicating errors with iterators -- @ref type_error for exceptions indicating executing a member function with - a wrong type -- @ref out_of_range for exceptions indicating access out of the defined range -- @ref other_error for exceptions indicating other library errors +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. -@internal -@note To have nothrow-copy-constructible exceptions, we internally use - `std::runtime_error` which can cope with arbitrary-length error messages. - Intermediate strings are built with static functions and then passed to - the actual constructor. -@endinternal +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type -@liveexample{The following code shows how arbitrary library exceptions can be -caught.,exception} - -@since version 3.0.0 +@since version 1.0.0 */ -class exception : public std::exception +enum class value_t : std::uint8_t { - public: - /// returns the explanatory string - const char* what() const noexcept override - { - return m.what(); - } - - /// the id of the exception - const int id; - - protected: - exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} - - static std::string name(const std::string& ename, int id_) - { - return "[json.exception." + ename + "." + std::to_string(id_) + "] "; - } - - private: - /// an exception object as storage for error messages - std::runtime_error m; + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function }; /*! -@brief exception indicating a parse error +@brief comparison operator for JSON types -This exception is thrown by the library when a parse error occurs. Parse errors -can occur during the deserialization of JSON text, CBOR, MessagePack, as well -as when using JSON Patch. +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. -Member @a byte holds the byte index of the last read character in the input -file. - -Exceptions have ids 1xx. - -name / id | example message | description ------------------------------- | --------------- | ------------------------- -json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. -json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. -json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. -json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. -json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. -json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. -json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. -json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. -json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. -json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. -json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. -json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. -json.exception.parse_error.114 | parse error: Unsupported BSON record type 0x0F | The parsing of the corresponding BSON record type is not implemented (yet). - -@note For an input with n bytes, 1 is the index of the first character and n+1 - is the index of the terminating null byte or the end of file. This also - holds true when reading a byte vector (CBOR or MessagePack). - -@liveexample{The following code shows how a `parse_error` exception can be -caught.,parse_error} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 +@since version 1.0.0 */ -class parse_error : public exception +inline bool operator<(const value_t lhs, const value_t rhs) noexcept { - public: - /*! - @brief create a parse error exception - @param[in] id_ the id of the exception - @param[in] pos the position where the error occurred (or with - chars_read_total=0 if the position cannot be - determined) - @param[in] what_arg the explanatory string - @return parse_error object - */ - static parse_error create(int id_, const position_t& pos, const std::string& what_arg) - { - std::string w = exception::name("parse_error", id_) + "parse error" + - position_string(pos) + ": " + what_arg; - return parse_error(id_, pos.chars_read_total, w.c_str()); - } + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; - static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) - { - std::string w = exception::name("parse_error", id_) + "parse error" + - (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + - ": " + what_arg; - return parse_error(id_, byte_, w.c_str()); - } - - /*! - @brief byte index of the parse error - - The byte index of the last read character in the input file. - - @note For an input with n bytes, 1 is the index of the first character and - n+1 is the index of the terminating null byte or the end of file. - This also holds true when reading a byte vector (CBOR or MessagePack). - */ - const std::size_t byte; - - private: - parse_error(int id_, std::size_t byte_, const char* what_arg) - : exception(id_, what_arg), byte(byte_) {} - - static std::string position_string(const position_t& pos) - { - return " at line " + std::to_string(pos.lines_read + 1) + - ", column " + std::to_string(pos.chars_read_current_line); - } -}; - -/*! -@brief exception indicating errors with iterators - -This exception is thrown if iterators passed to a library function do not match -the expected semantics. - -Exceptions have ids 2xx. - -name / id | example message | description ------------------------------------ | --------------- | ------------------------- -json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. -json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. -json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. -json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. -json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. -json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. -json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. -json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. -json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. -json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. -json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. -json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. -json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). - -@liveexample{The following code shows how an `invalid_iterator` exception can be -caught.,invalid_iterator} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class invalid_iterator : public exception -{ - public: - static invalid_iterator create(int id_, const std::string& what_arg) - { - std::string w = exception::name("invalid_iterator", id_) + what_arg; - return invalid_iterator(id_, w.c_str()); - } - - private: - invalid_iterator(int id_, const char* what_arg) - : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating executing a member function with a wrong type - -This exception is thrown in case of a type error; that is, a library function is -executed on a JSON value whose type does not match the expected semantics. - -Exceptions have ids 3xx. - -name / id | example message | description ------------------------------ | --------------- | ------------------------- -json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. -json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. -json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t &. -json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. -json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. -json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. -json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. -json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. -json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. -json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. -json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. -json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. -json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. -json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. -json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. -json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | -json.exception.type_error.317 | JSON value cannot be serialized to requested format | The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw `true` or `null` JSON object cannot be serialized to BSON) | - -@liveexample{The following code shows how a `type_error` exception can be -caught.,type_error} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref out_of_range for exceptions indicating access out of the defined range -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class type_error : public exception -{ - public: - static type_error create(int id_, const std::string& what_arg) - { - std::string w = exception::name("type_error", id_) + what_arg; - return type_error(id_, w.c_str()); - } - - private: - type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating access out of the defined range - -This exception is thrown in case a library function is called on an input -parameter that exceeds the expected range, for instance in case of array -indices or nonexisting object keys. - -Exceptions have ids 4xx. - -name / id | example message | description -------------------------------- | --------------- | ------------------------- -json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. -json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. -json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. -json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. -json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. -json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. -json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON and BSON only support integer numbers up to 9223372036854775807. | -json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | -json.exception.out_of_range.409 | BSON key cannot contain code point U+0000 (at byte 2) | Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string | - -@liveexample{The following code shows how an `out_of_range` exception can be -caught.,out_of_range} - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref other_error for exceptions indicating other library errors - -@since version 3.0.0 -*/ -class out_of_range : public exception -{ - public: - static out_of_range create(int id_, const std::string& what_arg) - { - std::string w = exception::name("out_of_range", id_) + what_arg; - return out_of_range(id_, w.c_str()); - } - - private: - out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; - -/*! -@brief exception indicating other library errors - -This exception is thrown in case of errors that cannot be classified with the -other exception types. - -Exceptions have ids 5xx. - -name / id | example message | description ------------------------------- | --------------- | ------------------------- -json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. - -@sa - @ref exception for the base class of the library exceptions -@sa - @ref parse_error for exceptions indicating a parse error -@sa - @ref invalid_iterator for exceptions indicating errors with iterators -@sa - @ref type_error for exceptions indicating executing a member function with - a wrong type -@sa - @ref out_of_range for exceptions indicating access out of the defined range - -@liveexample{The following code shows how an `other_error` exception can be -caught.,other_error} - -@since version 3.0.0 -*/ -class other_error : public exception -{ - public: - static other_error create(int id_, const std::string& what_arg) - { - std::string w = exception::name("other_error", id_) + what_arg; - return other_error(id_, w.c_str()); - } - - private: - other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} -}; + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +} } // namespace detail } // namespace nlohmann +// #include + + +#include // #include -#include // pair +#include // declval, pair +// #include + + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + * + * To the extent possible under law, the author(s) have dedicated all + * copyright and related and neighboring rights to this software to + * the public domain worldwide. This software is distributed without + * any warranty. + * + * For details, see . + * SPDX-License-Identifier: CC0-1.0 + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + +// #include + + +#include + +// #include + + +namespace nlohmann +{ +namespace detail +{ +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; +} // namespace detail +} // namespace nlohmann + + +// https://en.cppreference.com/w/cpp/experimental/is_detected +namespace nlohmann +{ +namespace detail +{ +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; +} // namespace detail +} // namespace nlohmann + // This file contains all internal macro definitions // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them @@ -469,41 +2317,100 @@ class other_error : public exception #endif #endif -// disable float-equal warnings on GCC/clang -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wfloat-equal" +// C++ language standard detection +// if the user manually specified the used c++ version this is skipped +#if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L \ + && defined(__cpp_impl_three_way_comparison)&& __cpp_impl_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif #endif // disable documentation warnings on clang #if defined(__clang__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" #endif -// allow for portable deprecation warnings -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) - #define JSON_DEPRECATED __declspec(deprecated) -#else - #define JSON_DEPRECATED -#endif - -// allow for portable nodiscard warnings -#if defined(__has_cpp_attribute) - #if __has_cpp_attribute(nodiscard) - #define JSON_NODISCARD [[nodiscard]] - #elif __has_cpp_attribute(gnu::warn_unused_result) - #define JSON_NODISCARD [[gnu::warn_unused_result]] - #else - #define JSON_NODISCARD - #endif -#else - #define JSON_NODISCARD -#endif - -// allow to disable exceptions +// allow disabling exceptions #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) #define JSON_THROW(exception) throw exception #define JSON_TRY try @@ -537,21 +2444,17 @@ class other_error : public exception #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER #endif -// manual branch prediction -#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) - #define JSON_LIKELY(x) __builtin_expect(x, 1) - #define JSON_UNLIKELY(x) __builtin_expect(x, 0) -#else - #define JSON_LIKELY(x) x - #define JSON_UNLIKELY(x) x +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) #endif -// C++ language standard detection -#if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 - #define JSON_HAS_CPP_17 - #define JSON_HAS_CPP_14 -#elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) - #define JSON_HAS_CPP_14 +// allow to access some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private #endif /*! @@ -559,30 +2462,30 @@ class other_error : public exception @def NLOHMANN_JSON_SERIALIZE_ENUM @since version 3.4.0 */ -#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ - template \ - inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [e](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.first == e; \ - }); \ - j = ((it != std::end(m)) ? it : std::begin(m))->second; \ - } \ - template \ - inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [j](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.second == j; \ - }); \ - e = ((it != std::end(m)) ? it : std::begin(m))->first; \ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ } // Ugly macros to avoid uglier copy-paste when specializing basic_json. They @@ -594,62 +2497,689 @@ class other_error : public exception class StringType, class BooleanType, class NumberIntegerType, \ class NumberUnsignedType, class NumberFloatType, \ template class AllocatorType, \ - template class JSONSerializer> + template class JSONSerializer, \ + class BinaryType> #define NLOHMANN_BASIC_JSON_TPL \ basic_json + AllocatorType, JSONSerializer, BinaryType> -// #include +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1); + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } -#include // not -#include // size_t -#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +// inspired from https://stackoverflow.com/a/26745591 +// allows to call any std function as if (e.g. with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + + +namespace nlohmann +{ +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +inline void replace_substring(std::string& s, const std::string& f, + const std::string& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find first occurrence of f + pos != std::string::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +inline std::string escape(std::string s) +{ + replace_substring(s, "~", "~0"); + replace_substring(s, "/", "~1"); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +static void unescape(std::string& s) +{ + replace_substring(s, "~1", "/"); + replace_substring(s, "~0", "~"); +} + +} // namespace detail +} // namespace nlohmann + +// #include + + +#include // size_t + +namespace nlohmann +{ +namespace detail +{ +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +//////////////// +// exceptions // +//////////////// + +/// @brief general exception of the @ref basic_json class +/// @sa https://json.nlohmann.me/api/basic_json/exception/ +class exception : public std::exception +{ + public: + /// returns the explanatory string + const char* what() const noexcept override + { + return m.what(); + } + + /// the id of the exception + const int id; // NOLINT(cppcoreguidelines-non-private-member-variables-in-classes) + + protected: + JSON_HEDLEY_NON_NULL(3) + exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} // NOLINT(bugprone-throw-keyword-missing) + + static std::string name(const std::string& ename, int id_) + { + return "[json.exception." + ename + "." + std::to_string(id_) + "] "; + } + + template + static std::string diagnostics(const BasicJsonType& leaf_element) + { +#if JSON_DIAGNOSTICS + std::vector tokens; + for (const auto* current = &leaf_element; current->m_parent != nullptr; current = current->m_parent) + { + switch (current->m_parent->type()) + { + case value_t::array: + { + for (std::size_t i = 0; i < current->m_parent->m_value.array->size(); ++i) + { + if (¤t->m_parent->m_value.array->operator[](i) == current) + { + tokens.emplace_back(std::to_string(i)); + break; + } + } + break; + } + + case value_t::object: + { + for (const auto& element : *current->m_parent->m_value.object) + { + if (&element.second == current) + { + tokens.emplace_back(element.first.c_str()); + break; + } + } + break; + } + + case value_t::null: // LCOV_EXCL_LINE + case value_t::string: // LCOV_EXCL_LINE + case value_t::boolean: // LCOV_EXCL_LINE + case value_t::number_integer: // LCOV_EXCL_LINE + case value_t::number_unsigned: // LCOV_EXCL_LINE + case value_t::number_float: // LCOV_EXCL_LINE + case value_t::binary: // LCOV_EXCL_LINE + case value_t::discarded: // LCOV_EXCL_LINE + default: // LCOV_EXCL_LINE + break; // LCOV_EXCL_LINE + } + } + + if (tokens.empty()) + { + return ""; + } + + return "(" + std::accumulate(tokens.rbegin(), tokens.rend(), std::string{}, + [](const std::string & a, const std::string & b) + { + return a + "/" + detail::escape(b); + }) + ") "; +#else + static_cast(leaf_element); + return ""; +#endif + } + + private: + /// an exception object as storage for error messages + std::runtime_error m; +}; + +/// @brief exception indicating a parse error +/// @sa https://json.nlohmann.me/api/basic_json/parse_error/ +class parse_error : public exception +{ + public: + /*! + @brief create a parse error exception + @param[in] id_ the id of the exception + @param[in] pos the position where the error occurred (or with + chars_read_total=0 if the position cannot be + determined) + @param[in] what_arg the explanatory string + @return parse_error object + */ + template + static parse_error create(int id_, const position_t& pos, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + position_string(pos) + ": " + exception::diagnostics(context) + what_arg; + return {id_, pos.chars_read_total, w.c_str()}; + } + + template + static parse_error create(int id_, std::size_t byte_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("parse_error", id_) + "parse error" + + (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") + + ": " + exception::diagnostics(context) + what_arg; + return {id_, byte_, w.c_str()}; + } + + /*! + @brief byte index of the parse error + + The byte index of the last read character in the input file. + + @note For an input with n bytes, 1 is the index of the first character and + n+1 is the index of the terminating null byte or the end of file. + This also holds true when reading a byte vector (CBOR or MessagePack). + */ + const std::size_t byte; + + private: + parse_error(int id_, std::size_t byte_, const char* what_arg) + : exception(id_, what_arg), byte(byte_) {} + + static std::string position_string(const position_t& pos) + { + return " at line " + std::to_string(pos.lines_read + 1) + + ", column " + std::to_string(pos.chars_read_current_line); + } +}; + +/// @brief exception indicating errors with iterators +/// @sa https://json.nlohmann.me/api/basic_json/invalid_iterator/ +class invalid_iterator : public exception +{ + public: + template + static invalid_iterator create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("invalid_iterator", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + invalid_iterator(int id_, const char* what_arg) + : exception(id_, what_arg) {} +}; + +/// @brief exception indicating executing a member function with a wrong type +/// @sa https://json.nlohmann.me/api/basic_json/type_error/ +class type_error : public exception +{ + public: + template + static type_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("type_error", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/// @brief exception indicating access out of the defined range +/// @sa https://json.nlohmann.me/api/basic_json/out_of_range/ +class out_of_range : public exception +{ + public: + template + static out_of_range create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("out_of_range", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +/// @brief exception indicating other library errors +/// @sa https://json.nlohmann.me/api/basic_json/other_error/ +class other_error : public exception +{ + public: + template + static other_error create(int id_, const std::string& what_arg, const BasicJsonType& context) + { + std::string w = exception::name("other_error", id_) + exception::diagnostics(context) + what_arg; + return {id_, w.c_str()}; + } + + private: + JSON_HEDLEY_NON_NULL(3) + other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} +}; + +} // namespace detail +} // namespace nlohmann + +// #include + +// #include + + +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + namespace nlohmann { namespace detail { -// alias templates to reduce boilerplate -template -using enable_if_t = typename std::enable_if::type; template using uncvref_t = typename std::remove_cv::type>::type; -// implementation of C++14 index_sequence and affiliates -// source: https://stackoverflow.com/a/32223343 -template -struct index_sequence +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence { - using type = index_sequence; - using value_type = std::size_t; + using value_type = T; static constexpr std::size_t size() noexcept { return sizeof...(Ints); } }; -template -struct merge_and_renumber; +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; -template -struct merge_and_renumber, index_sequence> - : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; +namespace utility_internal +{ -template -struct make_index_sequence - : merge_and_renumber < typename make_index_sequence < N / 2 >::type, - typename make_index_sequence < N - N / 2 >::type > {}; +template +struct Extend; -template<> struct make_index_sequence<0> : index_sequence<> {}; -template<> struct make_index_sequence<1> : index_sequence<0> {}; +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; -template +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template using index_sequence_for = make_index_sequence; +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + // dispatch utility (taken from ranges-v3) template struct priority_tag : priority_tag < N - 1 > {}; template<> struct priority_tag<0> {}; @@ -661,18 +3191,38 @@ struct static_const static constexpr T value{}; }; -template -constexpr T static_const::value; +#ifndef JSON_HAS_CPP_17 + + template + constexpr T static_const::value; // NOLINT(readability-redundant-declaration) + +#endif + +} // namespace detail +} // namespace nlohmann + +// #include + + +namespace nlohmann +{ +namespace detail +{ +// dispatching helper struct +template struct identity_tag {}; } // namespace detail } // namespace nlohmann // #include -#include // not #include // numeric_limits #include // false_type, is_constructible, is_integral, is_same, true_type #include // declval +#include // tuple + +// #include + // #include @@ -681,19 +3231,6 @@ constexpr T static_const::value; // #include - -namespace nlohmann -{ -namespace detail -{ -template struct make_void -{ - using type = void; -}; -template using void_t = typename make_void::type; -} // namespace detail -} // namespace nlohmann - // #include @@ -701,10 +3238,10 @@ namespace nlohmann { namespace detail { -template +template struct iterator_types {}; -template +template struct iterator_types < It, void_t +template struct iterator_traits { }; -template +template struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> : iterator_types { }; -template +template struct iterator_traits::value>> { using iterator_category = std::random_access_iterator_tag; @@ -742,71 +3279,32 @@ struct iterator_traits::value>> } // namespace detail } // namespace nlohmann +// #include + + // #include + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); +} // namespace nlohmann + +// #include + + +// #include + + +namespace nlohmann +{ +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); +} // namespace nlohmann + // #include // #include - -#include - -// #include - - -// http://en.cppreference.com/w/cpp/experimental/is_detected -namespace nlohmann -{ -namespace detail -{ -struct nonesuch -{ - nonesuch() = delete; - ~nonesuch() = delete; - nonesuch(nonesuch const&) = delete; - nonesuch(nonesuch const&&) = delete; - void operator=(nonesuch const&) = delete; - void operator=(nonesuch&&) = delete; -}; - -template class Op, - class... Args> -struct detector -{ - using value_t = std::false_type; - using type = Default; -}; - -template class Op, class... Args> -struct detector>, Op, Args...> -{ - using value_t = std::true_type; - using type = Op; -}; - -template